Предположим, я merge
git, и есть конфликт слияния.
У меня вопрос: как я могу заставить git всегда выбирать более новую версию конфликтующего кода, чтобы мне не приходилось разрешать конфликт вручную?
Предположим, я merge
git, и есть конфликт слияния.
У меня вопрос: как я могу заставить git всегда выбирать более новую версию конфликтующего кода, чтобы мне не приходилось разрешать конфликт вручную?
Ответы:
Это не совсем «более новая» версия, но вы можете указать git, чтобы он всегда предпочитал версию в текущей ветке, используя git merge branch -X ours
, или предпочитать версию объединяемой ветки, используя git merge branch -X theirs
.
Откуда man git-merge
:
наши:
Эта опция принудительно автоматически разрешает конфликтующие блоки, отдавая предпочтение нашей версии. Изменения из другого дерева, которые не конфликтуют с нашей стороной, отражаются в результате слияния. Для бинарного файла все содержимое берется с нашей стороны.
их:
Это противоположность «нашему».
ours
- theirs
!! Просто скажите это, и вы поймете, что делает команда! Я люблю Git! : D
git 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
?
Я использую это,
git fetch --prune
git reset --hard origin/master