Подтвердить что ты не робот

Git объединить ветвь в мастер

У меня есть главная ветвь и рабочая branch_1. Я хочу "переместить" branch_1 точно так же, как и в master. Поэтому я хочу что-то вроде этого:

git checkout master
git merge branch_1 # I don't know what is correct...

Вещи, которые я сделал, но у меня было множество файлов, испорченных раздражающими конфликтами. Итак, теперь мастер содержит точно такие же файлы branch_1, избегая конфликтов, просто перезаписывая файлы. Любая помощь?

4b9b3361

Ответ 1

Конфликты будут происходить, если у обоих ветвей есть изменения в файлах. Это хорошая вещь. Сохранение ваших веток в актуальном состоянии друг с другом предотвратит некоторые из них , Однако, несмотря на все, конфликты неплохие. Опция rebase также может предотвратить многие из них.

git merge branch_1

Если вы находитесь на master, слияние приведет к изменениям, как вы ожидаете.

http://www.kernel.org/pub/software/scm/git/docs/git-merge.html

Вы также можете

git rebase branch_1

Это приведет к изменениям от branch_1 и добавит их в master без коммита.

http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html

Ответ 2

Может быть, вы не должны сливаться?

  • Оформить заказ branch_1
  • Мастер переопределения изменяется на branch_1
  • Исправить любые ошибки, которые могли произойти после тестирования кода
  • Мастер проверки
  • Rebase branch_1 переходит в master

или в коде:

git checkout branch_1
git rebase master
(...)
git checkout master
git rebase branch_1

Это также дает вам возможность вырезать несколько коммитов в один, если вы хотите сделать ваши изменения более плотными и предотвратите эти досадные слияния в вашей истории.