Git merge развивается в функциональные ветки "Уже в курсе", пока это не так

Я проверил функциональную ветку от разработки под названием branch-x. Через некоторое время другие люди протолкнули изменения в развивающуюся ветку.

Я хочу объединить эти изменения с моим branch-x. Однако, если я сделаю

git merge develop 

там написано "Уже актуально" и не позволяет мне сливаться.

git diff develop показывает, что есть различия между branch-x и развитием.

Как мне слиться в branch-x?

Ответ 1

Сначала вы должны pull внести изменения из ветки develop, а затем объединить их с вашей веткой:

git checkout develop 
git pull 
git checkout branch-x
git rebase develop

Или когда на branch-x:

git fetch && git rebase origin/develop

У меня есть псевдоним, который экономит мне много времени. Добавьте к ~/.gitconfig:

[alias]
    fr = "!f() { git fetch && git rebase origin/"$1"; }; f"

Теперь все, что вам нужно сделать, это:

git fr develop

Ответ 2

Первоначально мой репо сказал: "Уже в курсе".

MINGW64 (feature/Issue_123) 
$ git merge develop

Вывод:

Already up to date.

Но код не обновлен & это показывает некоторые различия в некоторых файлах.

MINGW64 (feature/Issue_123)
$ git diff develop

Вывод:

diff --git 
a/src/main/database/sql/additional/pkg_etl.sql 
b/src/main/database/sql/additional/pkg_etl.sql
index ba2a257..1c219bb 100644
--- a/src/main/database/sql/additional/pkg_etl.sql
+++ b/src/main/database/sql/additional/pkg_etl.sql

Однако, слияние исправляет это.

MINGW64 (feature/Issue_123)
$ git merge origin/develop

Вывод:

Updating c7c0ac9..09959e3
Fast-forward
3 files changed, 157 insertions(+), 92 deletions(-)

Я снова подтвердил это с помощью команды diff.

MINGW64 (feature/Issue_123)
$ git diff develop

Никаких различий в коде сейчас!

Ответ 3

git fetch && git merge origin/develop