#git
#git
Вопрос:
У меня есть Git
репозиторий с dev
и master
веткой. Я добавляю новые материалы в ветку разработки и делаю их фиксацию. Пока все хорошо, но я получаю информацию о том, что
This branch is 5 commits ahead, 12 commits behind master.
Итак, что я должен теперь делать?
В принципе, я хочу объединить master с веткой dev без потери недавно добавленных изменений в ветку dev, а затем объединить все изменения в ветку master.
Кто-нибудь может мне помочь?
Комментарии:
1. Я бы переназначил удаленный мастер, выполнив быстрое слияние только вперед
git fetch
иgit merge --ff-only origin/master
. и, конечно, исправление любых конфликтов по мере их возникновения.
Ответ №1:
Как и в большинстве вещей в git, у вас есть пара вариантов
Объедините master с вашей веткой разработки
git fetch origin master
git checkout dev
git merge origin/master
git checkout master
git merge dev
Перебазируйте dev поверх текущего master
git fetch origin master
git checkout dev
git rebase origin/master
git checkout master
git merge --no-ff dev
Перебазирование будет выглядеть чище в вашей истории.
Комментарии:
1. Нет извлечения / выборки? Как это поможет?
2. Я добавил выборку. Не думал, что это было необходимо, поскольку git уже знал, что это было позади / впереди.
3. @EncryptedWatermelon Должна ли моей отправной точкой быть master branch? Я имею в виду, прежде чем запускать команды, которые вы перечислили в своем ответе?
4. Вторая команда «git checkout dev» запускает вас в ветке разработки. Не имеет значения, где вы были до этого.
5. @EncryptedWatermelon ах, хорошо, но все же
git fetch master
?