2017-02-22 95 views
1

我有兩個分支:masterfeatureGit在衝突時提交命名。這是對的嗎?

master我已經改變了版本至19日和feature我已經改變了版本9(是的,這是老枝)。我想刷新這樣:

git checkout feature 
git rebase master 

我也得到衝突:

git diff -b -w --ignore-blank-lines lib/XXX/Schema.pm 
diff --cc lib/XXX/Schema.pm 
index 0922bb2,344f0e1..0000000 
--- a/lib/XXX/Schema.pm 
+++ b/lib/XXX/Schema.pm 
@@@ -1,6 -1,6 +1,12 @@@ 
    package XXX::Schema; 

++<<<<<<< ours 
+our $VERSION = 19; 
++||||||| base 
++our $VERSION = 8; 
++======= 
+ our $VERSION = 9; 
++>>>>>>> theirs 


    use strict; 

因爲我在feature分支我就當OURSmaster分支爲THEIRS變化。對?

爲什麼我的本地更改顯示爲>>>>>> theirs是合併衝突?

+0

你在問爲什麼「我們」和「他們的」用來指他們所做的分支,或者爲什麼「VERSION」的價值差異被認爲是衝突? – chepner

+0

@chepner'爲什麼「我們的」和「他們的」被用來指他們所做的分支。我期望應該有'>>>>>>>我們的'''因爲'9'在分支上引入我目前在 –

回答

4

這是rebase的工作原理。它會重置爲您承諾的提交,即master,然後櫻桃挑選feature分支的提交。因此,重新變更(feature分支)的變更爲他們的,並且master分支上的更改爲我們的

+0

謝謝。我認爲這個過程是從'feature'到'feature''的應用提交的 –