Страницы

Поиск по вопросам

понедельник, 3 июня 2019 г.

git pull accept theirs/ours

Можно ли как-то заставить git во время pull-а использовать стратегию слияния theirs для конкретной директории? Но если конфликты возникнут в других местах - пусть предоставить мне возможность решать.
Сейчас в голову приходит только такое: делаем hook, который отрабатывает после pull-а, и запускает git checkout --theirs {моя директория}


Ответ

на основе ответа: Simple tool to 'accept theirs' or 'accept mine' on a whole file using git

для частичной автоматизации можно, например, использовать псевдонимы:
$ git config --global alias.accept-ours = "!f() { [ -z \"$@\" ] && set - '.'; git checkout --ours -- \"$@\"; git add -u -- \"$@\"; }; f" $ git config --global alias.accept-theirs = "!f() { [ -z \"$@\" ] && set - '.'; git checkout --theirs -- \"$@\"; git add -u -- \"$@\"; }; f"
и при возникновении конфликта после git pull для файлов/каталогов, которые должны быть ours, выполнить:
$ git accept-ours -- файлы/каталоги ...
а для тех, что должны быть theirs
$ git accept-theirs -- файлы/каталоги ...

Комментариев нет:

Отправить комментарий