19. 把原項(xiàng)目放到新的 git倉庫

以下是具體的操作步驟,可以幫助你將 test-demo-a 項(xiàng)目的代碼、分支以及提交記錄等完整推送到 test-demo-b 項(xiàng)目倉庫中:

步驟一:添加新的遠(yuǎn)程倉庫

  1. 首先,進(jìn)入本地 test-demo-a 項(xiàng)目所在的目錄,打開命令行終端(比如在 Linux 或 macOS 下使用終端,在 Windows 下可以使用 Git Bash 等)。

  2. 執(zhí)行以下命令添加 test-demo-b 倉庫作為遠(yuǎn)程倉庫,命令中的 git@gitlab.rd.xxxx.com:cc_web/test-demo-b.git 就是目標(biāo)倉庫的遠(yuǎn)程地址,你需要確保你有向該倉庫推送的權(quán)限:

    git remote add test-demo-b-remote git@gitlab.rd.xxxx.com:cc_web/test-demo-b.git

這樣就在本地 test-demo-a 項(xiàng)目中關(guān)聯(lián)上了新的遠(yuǎn)程倉庫,并且給它取了一個(gè)別名 test-demo-b-remote(別名可以根據(jù)你的喜好自行設(shè)定,方便后續(xù)操作引用這個(gè)遠(yuǎn)程倉庫)。

步驟二:獲取新遠(yuǎn)程倉庫的信息(可選)

執(zhí)行以下命令從新添加的遠(yuǎn)程倉庫 test-demo-b-remote 獲取分支等相關(guān)信息,不過這一步通常不是必須的,只是為了提前知曉遠(yuǎn)程倉庫那邊的初始狀態(tài):

git fetch test-demo-b-remote

步驟三:推送本地分支到新倉庫

  1. 推送主分支(通常是 mastermain 分支)
    使用以下命令將本地的主分支推送到新的遠(yuǎn)程倉庫 saas_remote 中對應(yīng)的主分支上,如果遠(yuǎn)程倉庫中對應(yīng)的主分支不存在,會(huì)自動(dòng)創(chuàng)建:
   git push test-demo-b-remote master

或者如果你的項(xiàng)目主分支是 main ,則執(zhí)行:

   git push test-demo-b-remote main
  1. 推送其他分支
    假如你有像 feature_branch、bugfix_branch 等其他分支,需要逐個(gè)推送這些分支到新倉庫。以 feature_branch 為例,執(zhí)行命令如下:
   git push test-demo-b-remote feature_branch

如果分支較多,為了方便,可以使用 git push--all 選項(xiàng)一次性推送所有本地分支到新的遠(yuǎn)程倉庫,但要謹(jǐn)慎使用這個(gè)選項(xiàng),因?yàn)樗鼤?huì)推送所有分支,可能會(huì)包含一些你暫時(shí)不想推送或者還沒準(zhǔn)備好推送的分支。命令如下:

   git push test-demo-b-remote --all
  1. 推送所有標(biāo)簽(可選,如果項(xiàng)目中有標(biāo)簽的話)
    如果你希望把項(xiàng)目中的標(biāo)簽也一并推送到新倉庫,可以使用以下命令:
   git push test-demo-b-remote --tags

步驟四:驗(yàn)證推送結(jié)果并清理(可選)

  1. 驗(yàn)證推送結(jié)果
    推送完成后,你可以登錄到 git@gitlab.rd.xxxx.com:cc_web/test-demo-b.git 對應(yīng)的倉庫頁面(比如 GitLab 的網(wǎng)頁界面)查看各個(gè)分支和提交記錄等是否已經(jīng)成功推送過去,并且是否符合你的預(yù)期。
  2. 清理遠(yuǎn)程倉庫關(guān)聯(lián)(可選)
    如果你之后確定不再需要原來關(guān)聯(lián)的舊倉庫遠(yuǎn)程地址等信息,可以在本地 test-demo-a 項(xiàng)目中執(zhí)行以下命令移除之前關(guān)聯(lián)的其他遠(yuǎn)程倉庫(假設(shè)之前還有別的遠(yuǎn)程倉庫關(guān)聯(lián),這里以移除名為 test-demo-b-remote 的遠(yuǎn)程倉庫為例):
    git remote rm test-demo-b-remote

通過以上步驟,就可以將 test-demo-a 項(xiàng)目中的代碼、分支以及提交記錄等完整地推送到 test-demo-b 項(xiàng)目倉庫中了。不過在整個(gè)操作過程中,建議提前備份好本地項(xiàng)目代碼,以防出現(xiàn)意外情況導(dǎo)致數(shù)據(jù)丟失等問題。

查看本地倉庫配置的所有遠(yuǎn)程倉庫

使用git remote -v命令可以查看本地倉庫配置的所有遠(yuǎn)程倉庫及其對應(yīng)的推送(push)和拉取(fetch)的 URL。例如:

daiyunzhou@daiyunzhoudeMacBook-Pro-2 test-demo-a % git remote -v
origin  git@gitlab.rd.xxxx.com:hsy_ng/test-demo-a.git (fetch)
origin  git@gitlab.rd.xxxx.com:hsy_ng/test-demo-a.git (push)
test-demo-b-remote  git@gitlab.rd.xxxx.com:cc_web/test-demo-b.git (fetch)
test-demo-b-remote  git@gitlab.rd.xxxx.com:cc_web/test-demo-b.git (push)
daiyunzhou@daiyunzhoudeMacBook-Pro-2 test-demo-a %

請注意,整個(gè)操作都依賴于你擁有向 test-demo-b 倉庫推送的相應(yīng)權(quán)限,如果推送時(shí)遇到權(quán)限相關(guān)的錯(cuò)誤提示,需要聯(lián)系倉庫管理員進(jìn)行權(quán)限的核實(shí)與調(diào)整。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容