При слиянии моих изменений с ведущим ведущим я часто обнаруживаю, что выполняю следующее:
git checkout somefeature
git checkout -b integration
git rebase master # resolving conflicts along the way
git checkout somefeature
git merge integration # or rebase, doesn't matter in this example
Я часто обнаруживаю, что объединение ветви интеграции с моей ветвью функций приводит к некоторым конфликтам.Первый вопрос, который у меня возникает: «Почему это происходит, если моя ветвь интеграции является потомком какой-то особенной модели, и я уже разрешил конфликты с ведущим устройством верхнего уровня?»
Если вам интересно, почему я используюНачнем с того, что ветка интеграции состоит в том, чтобы предотвратить загрязнение моей текущей ветви половинным неудачным слиянием.
Мой текущий обходной путь заключается в том, чтобы сделать это:не могу отправить свои изменения обратно в удаленную ветку:
git push origin somefeature
! [rejected] somefeature -> somefeature (non-fast forward)
Так что теперь мне нужно удалить удаленную ветку и повторно отправить свои изменения.Это не может быть оптимальным способом сделать это, поэтому я задаюсь вопросом: «Каков наилучший способ перезаписать ветку и перенести изменения в удаленную ветку?»