2017-10-05 112 views
0

我想了解無關歷史的合併。 Git'merge'命令有一個選項「--allow-unmatched history」來合併不相關的歷史記錄。我在這裏錯過了一些澄清。 GIT中的根文件夾稱爲「項目」。項目包含許多存儲庫。每個回購可能有幾個分支。我們可以合併GIT中的2個不同項目的分支

考慮到這一切。我有兩個'項目'(a,b)。在項目'a'中,我有一個叫'arepo'的回購。 'arepo'有一個分支'abranch'。同樣,還有項目'b'。項目'b'有一個叫'brepo'的回購。 'brepo'有一個叫'bbranch'的分支。

下圖描述了這種情況: - Unrelated branches

在這種情況下,我們可以合併「abranch」和「bbranch」使用Git的「允許無關-歷史」選項合併?

在此先感謝。

+0

也許[this](https://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories)或[this](https://stackoverflow.com/questions/45272492/git -refusing-to-merge-unrelated-historories-what-is-unrelated-history)將會有所幫助 – Soenhay

回答

0

here它說:

--allow無關,歷史默認情況下,git的合併命令拒絕合併沒有共同的祖先的歷史。當合並獨立開始他們的生活的兩個項目 的歷史時,可以使用此選項 覆蓋此安全性。由於這是非常罕見的 場合,因此默認情況下不存在配置變量 ,因此不會被添加。

所以看起來有可能通過使用--allow-unrelated-histories選項合併不相關的歷史記錄。

+0

非常感謝你的迴應。我確實瞭解可能性。我的含糊不清是關於「無關的歷史」。我提出的圖是否是無關歷史的準確範例?我想了解什麼叫做「無關的歷史」? –

+0

無關的歷史只是意味着分支沒有一個共同的祖先,就像你的圖表一樣。所以我會說你的圖是準確的。如果項目a和b是不同的存儲庫,那麼就git而言,即使b可能只是b的副本,它們也沒有共同的祖先。 – Soenhay

+0

[這裏](https://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories)是另一個可能有幫助的鏈接。 – Soenhay

相關問題