Подтвердить что ты не робот

Как сделать git игнорировать каталог при слиянии

Как интересно и полезно в качестве ответа на Как настроить драйвер git для игнорирования папки при слиянии, он не ответил на исходный вопрос, который все еще меня насторожило.

В отличие от связанного с этим вопроса, у меня есть две ветки с одним и тем же набором каталогов и для слияния одного с другим мне нужно git, чтобы полностью игнорировать один каталог.

Я попробовал его со своим собственным драйвером слияния, как описано в Как сообщить git, чтобы всегда выбирать локальную версию для конфликтующих слияний в определенном файле? проблема с этим подходом заключается в том, что этот драйвер вызывается только тогда, когда в этих двух ветвях имеется фактический конфликтный файл. Всякий раз, когда изменения файла находятся только в одной ветки, git объединяет их, не вызывая мой драйвер слияния.

Это приводит к изменениям файлов в каталоге, который я не хочу. Любая идея, как я мог сделать git игнорировать каждый файл в этом каталоге все время - был ли он затронут или нет?

4b9b3361

Ответ 1

Я действительно не использую Git, но я думаю, что это сработает для вашего случая:

Используйте что-то вроде того, что указано здесь: https://gist.github.com/564416

git checkout master    
git merge --no-commit --no-ff development
git reset -- /path/to/folder # revert updates from path
git commit

Опять же, я не использую Git, я просто откладываю на то, как я думаю, что все работает на основе моего опыта работы с TryGit.

  • мастер проверки
  • объединить, но не совершать, не ускорять работу вперед.
  • слияния теперь устраиваются, поэтому reset все дерево каталогов
  • совершить