簡體   English   中英

git將存儲庫作為目錄移動到另一個存儲庫

[英]git move repository to another repository as a directory

如何在不丟失存儲庫的歷史記錄和文件的情況下,將存儲庫(old_rep)作為目錄移動到另一個存儲庫(new_rep)?

這是我從其他堆棧問題中嘗試過的方法。 我在new_repo中有帶有歷史記錄的文件,例如目錄,.txt,.sql文件。 當我運行下面的代碼時,--mirror似乎將old_rep的所有內容替換為new_rep。

mkdir foo
cd foo 

git clone --bare ssh://git@test.test.test/test/old_rep.git

cd old_rep.git 
git clone --bare ssh://git@test.test.test/test/new_rep.git

cd ..
rm -rf old_rep.git

假設你想要的所有內容從移動old_repo到目錄dir1new_repo

  1. old_repo create dir1 ,將所有文件和目錄從工作目錄移至dir1並提交。

    這就是old_repo 下面的其他步驟在new_repo

  2. new_repo使用git remote add old_repo <path-to-old-repo>將舊git remote add old_repo <path-to-old-repo>的遠程服務器。 <path-to-old-repo>替換為舊存儲庫的實際路徑(完整或相對)。 我假設您在本地計算機上都有兩個存儲庫。

  3. 確保沒有未提交的更改。 如果存在,則將它們提交到分支上或存儲。
  4. 運行git fetch old_repo將提交從舊存儲庫提交到新存儲庫。 假設您已經簽出了要從old_repo導入代碼的old_repo ,請運行git merge old_repo/master 用要導入的old_repo的實際分支替換master
  5. 檢查一切看起來很好new_repo ,你必須從所有文件old_repo和他們的歷史。
  6. 清理。 只有在仔細檢查了第5步之后,才運行git remote remove old_repo取消鏈接存儲庫,然后,如果確定您不需要old_repo任何old_repo ,則可以刪除old_repo所在的目錄。 我會在一段時間(1-2周)后進行清除,以確保我不會丟失任何東西。
  7. 就這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM