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