2016-03-22 77 views
2

我在同一父文件夾中有兩個我想要在父文件夾中合併的回購券,並且如果可能的話,保持歷史記錄不會有最小差異。如何將兩個git回購合併到父文件夾中的一個回購中?

parent/ 
--code1/.git 
--code2/.git 

我想:

parent/.git 
--code1 
--code2 

是否有可能做到這一點,保持歷史兩者兼而有之?或者至少code1文件夾?不幸的是,在這兩個回購協議中都有一些同名分支機構。最理想的是在.git的提交日期都有這兩個歷史記錄,但我還沒有找到一個簡單的解決方案(一個複雜的是,git mv顯示提交所有文件之前/之後的差異,但我們可以忍受)。

回答

0

你只是想在一個新的合併兩個不同的存儲庫(第一和第二),同時保持這兩個混帳歷史:

創建一個新的Git倉庫,並作出初步承諾:

mkdir newRepository 
git init 
touch .gitignore 
git add .gitignore 
git commit .gitignore -m 'init' 

取和合並所述第一:

git remote add first pathTo/first 
git fetch first 
git merge first/master 

抓取併合並所述第二:

git remote add second pathTo/second 
git fetch second 
git merge second/master 
0

您應該能夠使用git pull方法。

執行以下操作:

$ git init 
$ git pull code1 
$ git pull code2 

這應該創建一個合併..接受合併(解決衝突,如果有的話)..

要拉分支到父混帳回購協議,你可以做以下:

$ git checkout -b branchName 
$ git pull code1 branchName 

編輯:我錯過了部分與您仍想保留code1code2文件夾。合併這兩個存儲庫時,這並不是真的可行,因爲它正在做它所說的:將它們合併到父文件夾中。之後,您必須手動將源文件移動到code1code2並進行進一步的提交。

相關問題