но я действительно хочу выполнить слияние (не переопределить коммиты), но дополнительно разрешить конфликты автоматически.
bartek
Ответы:
189
Это не совсем «более новая» версия, но вы можете указать git, чтобы он всегда предпочитал версию в текущей ветке, используя git merge branch -X ours, или предпочитать версию объединяемой ветки, используя git merge branch -X theirs.
Откуда man git-merge:
наши:
Эта опция принудительно автоматически разрешает конфликтующие блоки, отдавая предпочтение нашей версии. Изменения из другого дерева, которые не конфликтуют с нашей стороной, отражаются в результате слияния. Для бинарного файла все содержимое берется с нашей стороны.
ours- theirs!! Просто скажите это, и вы поймете, что делает команда! Я люблю Git! : D
Haywire
14
Примечание: если вы уже использовали git merge branch, вам нужно будет git merge --abortсделать это, прежде чем вы сможете это сделать.
Джон Дворжак,
1
У меня не работает. Он по-прежнему прерывает слияние. error: The following untracked working tree files would be overwritten by merge:Я даже не знаю, почему эти файлы вообще находятся в этой ветке, но они должны быть перезаписаны, а git отказывается.
mcv
2
Если они не отслеживаются, вам нужно git addсначала удалить (или ) их. Прочтите немного git clean, это может вам в этом помочь.
Ренато Заннон
После запуска git merge ours, если есть какие-то конфликтные файлы, будет ли журнал? и я мог бы отследить git merge ours?
Это решение помогло мне исправить не объединенные конфликты, когда все, что я хотел, это переопределить с помощью основной ветки. Я использовал git reset --hard master (от местного)
Ответы:
Это не совсем «более новая» версия, но вы можете указать git, чтобы он всегда предпочитал версию в текущей ветке, используя
git merge branch -X ours
, или предпочитать версию объединяемой ветки, используяgit merge branch -X theirs
.Откуда
man git-merge
:источник
ours
-theirs
!! Просто скажите это, и вы поймете, что делает команда! Я люблю Git! : Dgit merge branch
, вам нужно будетgit merge --abort
сделать это, прежде чем вы сможете это сделать.error: The following untracked working tree files would be overwritten by merge:
Я даже не знаю, почему эти файлы вообще находятся в этой ветке, но они должны быть перезаписаны, а git отказывается.git add
сначала удалить (или ) их. Прочтите немногоgit clean
, это может вам в этом помочь.git merge ours
, если есть какие-то конфликтные файлы, будет ли журнал? и я мог бы отследитьgit merge ours
?Я использую это,
источник