Конфликт слияния отчетов git без изменений, пустые строки (с использованием git-subtree) - PullRequest
15 голосов
/ 29 декабря 2011

Я тестирую использование git-subtree , чтобы объединить репозиторий библиотеки в более крупный проект.В принципе, это здорово.Иногда, когда я выполняю "git subtree pull", я получаю конфликты слияния, подобные этому:

<<<<<<< HEAD
=======
An inserted line from the lib repo
>>>>>>> 4d348903449ebb584ab224cb34c6038fbf6b352d

Это изменение, сделанное в репозитории библиотеки, слияние в файл, который не был изменен локально.Или другой пример, где я добавил строку в локальном репозитории проекта, но в файле, который является частью объединяемого поддерева:

<<<<<<< HEAD
Another inserted line
=======
>>>>>>> 4d348903449ebb584ab224cb34c6038fbf6b352d

Почему git сообщает об этом как о конфликтах слияния, но регион сообщаеткак конфликт пуст?Есть ли способ предотвратить это?

Это достаточно легко решить, но это портит рабочий процесс git-subtree

Ответы [ 2 ]

3 голосов
/ 26 октября 2016

Это не решение вашей корневой проблемы, а скорее ее смягчение. Вы можете использовать
git merge -Xignore-space-change игнорировать пробелы в ваших коммитах.

Вероятно, это проблема ваших концовок строки. вы можете попробовать альтернативу --dry-run в слиянии (git merge не имеет опции --dry-run):

$git merge -Xignore-space-change --no-commit --no-ff $BRANCH

чтобы увидеть изменения до того, как вы их фактически подтвердите.

0 голосов
/ 31 декабря 2011

Используйте субмодули для проведения совместной работы. Существует git-slave, если вы много работаете с общими и не общими проектами, которые необходимо координировать. Ваше несоответствие хранения в конце строки исчезнет.

...