Непрерывные конфликты слияния в CSS-файлах в GIT - PullRequest
2 голосов
/ 19 ноября 2010

Я не знаю, является ли это общей проблемой. В большинстве случаев, когда мы извлекаем файл CSS из нашего репозитория разработки, GIT конфликтует с текущим файлом, полностью объединяя два файла, помещая маркеры «>>>» и «<<<» в самый верх и низ, и маркер "===", разделяющий их. </p>

Мы пробовали разные отступы, и это немного помогло, но успеха не было вообще. У нас нет проблем с любым другим типом файлов, в большинстве случаев это код PHP и JS, в данном случае.

Если это поможет, мы настроили все текстовые редакторы на производстве для использования CRLF.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 19 ноября 2010

Обычно это происходит из-за какого-то автоматического преобразования.

Не могли бы вы попытаться установить config autocrlf на false во всех ваших git (dev и prod)?

Таким образом, автоматическое преобразование не выполняется, что помогает устранить эту проблему, вызывающую потенциальные конфликты слияния?

У вас также есть некоторые настройки пробелов, которые могли бы ввести автоматическое изменение?


Примечание: начиная с git 2.8+ (март 2016 г.), в маркерах слияния больше не будет смешанного окончания строки (как LF в файле CRLF).
Смотрите " Заставьте Git использовать CRLF в строках слияния" <<<<<<< HEAD "".

3 голосов
/ 19 ноября 2010

Виновником является CRLF ... Если некоторые из блоков являются окнами, то автоматическое преобразование CRLF приведет к тому, что эти блоки сохранят файлы в формате "unix", даже если в ваших случаях используются блоки unix (и mac) хранят их в формате "dos".

Решение состоит в том, чтобы либо сказать всем использовать формат "unix", который является типичным для проектов git, - и позволить пользователям Windows использовать формат "dos", потому что git (в частности, msysgit) будет автоматически преобразовывать по умолчанию. *

Или продолжайте использовать CRLF (вероятно, лучшую идею здесь) и попросите пользователей Windows ОСТАНОВИТЬ использование autocrlf или даже safecrlf.

...