Git как решить эту ветку — X коммитов впереди, X коммитов позади master

#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 ?