У меня есть репозиторий Git, который до сих пор в основном использовался для разработки Windows. Большинство аспектов проблем Git EOL (LF и CRLF) не были значительными, и разработка продолжалась беспрепятственно.
Перейдя в среду сборки CMake, я хочу собирать код на UNIX/Linux/MacOS. Сам код является переносимым, но, судя по прошлому опыту и некоторым первоначальным экспериментам, переход несколько болезненный, поскольку Git помечает целые каталоги в нетронутых файлах как измененные, обнаруживает кажущиеся неизмененными строки в файлах и искажает имена файлов/папок с учетом регистра.
Кроме того, кажется, что начиная с Git 1.7 .2, Git имеет новую систему EOL, основанную на локальном, для каждого проекта, зарегистрированном, .gitattributes
вместо, для каждого пользователя, глобальном, .gitattributes
, которое должно устанавливаться при каждом использовании на каждой платформе.
Может ли кто-нибудь предложить путь / процесс подготовки репо (в Windows), который позволит мне извлекать и фиксировать файлы в Linux без всех этих проблем?
Частичные предложения можно увидеть, например. здесь, но это слишком грубая сила и не учитывает файлы, которые .gitattributes
специально намеревался оставить как есть (например, *.sln
)