2013-05-08 108 views
0

我有幾個分離的Git存儲庫 - 「核心」和幾個組件。他們每個人都有一個標籤,如「v1.0.1」,表明它包含在構建中。標籤在所有回購中都是相同的。現在我需要通過標記將這些回購合併到單個回購保留歷史記錄中。這樣做的目的是我需要能夠構建歷史版本(基於標籤)。回購中的文件不會衝突(除.gitignore)。通過標記組合git repos保存歷史記錄

我試過git reset v1.0.1關於「core」,然後合併其他repos上的相應標記(作爲核心中的遠程添加)git merge comp1/master v1.0.1但它合併了所有來自comp1/master分支的提交。是否有可能做混合與提交不是源頭部?也許有一種替代方法?

回答

1

由於您指向comp1/master,因此它將所有內容合併到主內容中,只需將它指向要合併的標記即可。

在這裏我告訴你指向標籤,但是,我猜每個標籤在每個回購中都有相同的名稱 - 所以這不會起作用,因爲標籤名稱必須是唯一的。

所以,你想要做的,是開始從組件回購一fetchgit fetch componentARemote什麼(你可能需要選擇分支獲取)。

一旦做到這一點,你就會有合併從您的git回購組件遠程所有提交之後,你可以檢查什麼是提交sha按標籤v1.0.1 no組件分支指出然後,你通過指向它的SHA進行合併:。

git checkout v1.0.1 # this is your core tag 
git merge <sha id> 
# and here you are, you merged only the relevant component tag