Ответ 1
Вы также можете:
git checkout --theirs /path/to/file
чтобы сохранить удаленный файл, и:
git checkout --ours /path/to/file
сохранить локальный файл.
Затем git add
их и все сделано.
Легко, не так ли?:)
Я знаю, как объединить модификации с помощью vimdiff, но, полагая, что я просто знаю, что весь файл хорош, чтобы сохранить или выбросить, как мне это сделать?
Я не хочу открывать vimdiff для каждого из них, я хочу изменить команду "keep local" или "keep remote".
E.G: Я получил слияние с файлами, отмеченными как измененные, потому что кто-то открыл его под окнами, изменив EOL, а затем заработал. При слиянии я хочу просто оставить свою собственную версию и отбросить его.
Я также заинтересован в обратном: я напортачил много времени и хочу принять удаленный файл, отбросив мои изменения.
Вы также можете:
git checkout --theirs /path/to/file
чтобы сохранить удаленный файл, и:
git checkout --ours /path/to/file
сохранить локальный файл.
Затем git add
их и все сделано.
Легко, не так ли?:)
Этот подход кажется более простым, избегая необходимости индивидуального выбора каждого файла:
git merge --strategy-option theirs
или
git pull -Xtheirs
Скопировано непосредственно из: Разрешить Git конфликты слияния в пользу их изменений во время вытягивания
В строке "thingie" обратитесь к man git-merge
:
--ignore-space-change
--ignore-all-space
--ignore-space-at-eol
Обязательно добавьте autocrlf = false
и/или safecrlf = false
в клон Windows (.git/config)
Если вы настроите mergetool следующим образом:
git config mergetool.cp.cmd '/bin/cp -v "$REMOTE" "$MERGED"'
git config mergetool.cp.trustExitCode true
Тогда простая
git mergetool --tool=cp
git mergetool --tool=cp -- paths/to/files.txt
git mergetool --tool=cp -y -- paths/to/files.txt # without prompting
Выполняет работу
В других случаях я предполагаю
git checkout HEAD -- path/to/myfile.txt
должен сделать трюк
Изменить, чтобы сделать обратное (потому что вы прищурились):
git checkout remote/branch_to_merge -- path/to/myfile.txt
git checkout {branch-name} -- {file-name}
Это будет использовать файл из выбранной ветки.
Мне нравится это, потому что posh-git
autocomplete отлично справляется с этим. Он также устраняет любую двусмысленность относительно того, какая ветка удалена и является локальной.
И --theirs
не работал у меня в любом случае.