2017-02-22 3 views
1

У меня есть две ветви: master и featureGit фиксирует имена при конфликте. Правильно?

На 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 ветви я считаю это как OURS и изменений на master отрасли как THEIRS. Правильно?

Почему мои локальные изменения отображаются как >>>>>> theirs - конфликт слияния?

+0

Вы спрашиваете, почему «наши» и «их» используются для обозначения ветвей, которые они выполняют, или почему разница в ценности для «ВЕРСИИ» считается конфликтом? – chepner

+0

@chepner 'почему« наши »и« их »используются для обозначения ветвей, которые они делают». Я ожидаю, что там будет '>>>>>>> наш'', потому что' 9' был введен в филиале. Я в настоящее время на –

ответ

4

Это выпадение от rebase работ. Он сбрасывается на фиксацию, которую вы переставляете, т. Е. master, а затем вишни выбирает коммиты из ветки feature. Таким образом, изменения, подлежащие переустановке (ветвь feature), составляют их, а изменения на ветке master: ours.

+0

Спасибо. Я думал об этом процессе, поскольку повторное применение коммитов от 'feature' to' feature'' –

Смежные вопросы