2015-04-17 237 views
1

我有兩個GIT項目A和B(空項目)。我想將整個項目A移動到項目B中,並在將所有文件從A移動到B時保留提交歷史記錄。在移動GIT存儲庫時保留GIT提交歷史記錄

使用GIT執行此操作的有效方法是什麼?我嘗試使用git filter-branch,但似乎我沒有這樣做,因爲它給了我「致命的... xyz /在倉庫之外」。有人可以提供一些指針嗎?

謝謝!

+1

如果項目B是一個你剛剛用'git init'初始化的空項目,將它定義爲來自項目B的新'remote'並執行'git push -u remoteb master'。 –

+0

感謝您的建議。我相信,你的意思是來自項目A的新「遠程」?這是否保留了git commit歷史記錄? – psbits

+0

如果你進入你的項目庫,添加一個指向項目B的新'remote',然後執行上面的'push'命令,你的整個歷史將被保留。 –

回答

1

下面是我們問題評論中描述的完整工作流程。

我假設你想從項目A項目B推分支master的整個歷史。

  1. 項目B夾>初始化git倉庫:

    git init

  2. 項目的文件夾>添加項目B回購作爲新的遠程:

    git remote add remoteb <urlToB>

  3. 項目的文件夾>結帳(如果需要)的適當的分支:

    git checkout master

  4. 項目的文件夾>推分支master的整個歷史,以remoteb

    git push -u remoteb master

如果你想要額外的信息關於git push命令和參數,你可以在這裏找到官方文檔:git push Documentation

+0

第1步應該是'git init --bare',否則可能會出現類似'remote:error:拒絕更新簽出分支:refs/heads/master'的錯誤 –

相關問題