Git: автоматически разрулить конфликты в пользу «theirs» для всех файлов

Мне нужно было все конфликты в файлах по определенной маске разрешить в пользу того, что пришло с сервера.
Файлов таких, по некоторым причинам, было более 5000, и не все удовлетворяли маске (реально нужно было посмотреть вручную около 20 файлов).
Поэтому решил разрулить конфликты в ненужных файлах автоматически.

Сначала сохраним пути ко всем файлам, удовлетворяющим маске, в файл:

Потом выполним команду

У меня выполнение заняло примерно час.

Полезные ссылки:
http://stackoverflow.com/questions/3065650/whats-the-simplest-way-to-git-a-list-of-conflicted-files,
http://stackoverflow.com/questions/914939/simple-tool-to-accept-theirs-or-accept-mine-on-a-whole-file-using-git,
http://stackoverflow.com/questions/10083506/the-command-find-inside-awk-does-not-work

UPD:

Нашёл (http://stackoverflow.com/a/2073854/801426) другой способ:
git checkout —ours . # checkout our local version of all files
git add -u # mark all conflicted files as merged
git commit -m ‘merge’ # commit the merge

По ссылке более подробное описание, что для чего.

Similar Posts

LEAVE A COMMENT