2014-12-07 57 views
-2

假設我們合併了兩個分支,那麼git如何識別哪一段代碼將被省略以及哪段代碼將被保留。Git合併 - 它如何預測要保留哪段代碼?

我閱讀下面的東西的地方

A代表一段代碼。 假設在branch-1這段代碼被刪除,但在branch-2這段代碼保持不變,然後合併這兩個分支A將被省略。

我不知道作者想說什麼,作者是想說明合併策略的概念還是實際的合併策略?

這個策略是否被git使用?如果使用這不是一個糟糕的策略,因爲省略的一段代碼可能與其他代碼段有關。

如果問題很愚蠢,我真的很抱歉,如果有人能回答,這將是很大的幫助。

回答

0

Git補丁方面的原因:當你合併兩個分支時,結果提交將是來自兩個分支的每個補丁的結果。 (請注意,如果對相同的代碼行應用不同的修改,則可能會導致只能由人解決的合併衝突)

因此,在您的示例中,只有一個修改已應用於A :它已被刪除。所以最終的合併將不包含A

另一方面,如果branch-1刪除Abranch-2改變它,那麼Git會放棄,併產生合併衝突。

被省略的一段代碼可能與其他一段代碼有關。

事實上,如果branch-1刪除未使用的方法f,但branch-2增加了一個方法g依賴於f,Git會相信它能夠在沒有衝突合併它們,但它會產生損壞的代碼庫。

幸運的是,很容易面對它:您只需在推送提交之前運行非迴歸測試套裝。