Git объединить ветвь в мастер
У меня есть главная ветвь и рабочая branch_1
. Я хочу "переместить" branch_1
точно так же, как и в master
. Поэтому я хочу что-то вроде этого:
git checkout master
git merge branch_1 # I don't know what is correct...
Вещи, которые я сделал, но у меня было множество файлов, испорченных раздражающими конфликтами. Итак, теперь мастер содержит точно такие же файлы branch_1
, избегая конфликтов, просто перезаписывая файлы.
Любая помощь?
Ответы
Ответ 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
Это также дает вам возможность вырезать несколько коммитов в один, если вы хотите сделать ваши изменения более плотными и предотвратите эти досадные слияния в вашей истории.