Как массово разрешить конфликты Git только с изменениями режима файла? - PullRequest
4 голосов
/ 26 июля 2011

Я пытаюсь объединить два репозитория, и существует только пара «реальных» конфликтов, но существует около 70 конфликтов файлов «Оба добавлены». Однако при просмотре git diff отображается только изменение режима файла.

Каков наилучший способ массового принятия текущего режима файла и игнорирования режима входящего файла?

Небольшой фон: Эти 2 репозитория имеют один и тот же код, но один отслеживается через SVN, поэтому не имеет истории. Я использую git-svn, чтобы отслеживать его и объединить с текущим репозиторием git.

Входящие конфликты при слиянии выглядят так: КОНФЛИКТ (добавить / добавить): конфликт слияния в framework / file / name.php Автоматическое объединение не выполнено; исправить конфликты, а затем зафиксировать результат.

Состояние Git показывает: оба добавлены: framework / file / name.php

Если я использую git mergetool, он не показывает никаких конфликтов. Просмотр каждого файла с использованием этого метода занимает очень много времени.

Ответы [ 2 ]

4 голосов
/ 03 августа 2011

Итак, попробовав все различные стратегии слияния и определив, что мне нужно взять режим файла из репозитория, отбросив режим локального файла, лучшее решение, которое я нашел, было использовать: git checkout --theirs <remote/branch> -- path для изменения режима файла и используется git mergetool для разрешения конфликта кода. Используя git diff, я мог видеть, какие файлы были изменениями файлового режима, а какие были изменениями кода файла. git merge использует --recursive -Xours в качестве стратегии слияния по умолчанию.

Существует переменная git config: core.fileMode, которая может игнорировать изменения режима файла. См .: Как заставить Git игнорировать изменения режима файла (chmod)?

1 голос
/ 27 июля 2011

Как насчет git merge -Xours branchToMergeIn?Это объединит их и даст предпочтение вашей текущей ветке.Никогда не пробовал с изменениями режима, но должен добиться цели ...

отредактировано с помощью стратегии слияния Джеффроми.

...