Это касается слияния файлов XCode project.pbxproj
, но тот же принцип применим к любым текстовым файлам в стиле базы данных (это не двоичный файл!)
Скажем, что в ветке A мы добавили файл foo.m, а в ветке B у нас есть bar.m
D814C04514DF6C3100D2AA5D /* foo.m */,
D8DAC57814DF8979004E1309 /* bar.m */,
Правильное слияние будет иметь обе строки в выводе. Однако, поскольку эти две строки очень похожи (по символам), Git предполагает, что они представляют собой одну и ту же строку, и пытается объединить две.
Однако, если бы был какой-то способ сопоставить Git только по токену, тогда две строки были бы совершенно разными, и поэтому в Git были бы оба файла
Я надеюсь, что есть что-то, что я могу вставить в файл .gitattributes
, чтобы заставить это поведение
Также принудительное изменение файла проекта только одним пользователем на самом деле не вариант. Большая часть работы (особенно в начале проекта) связана с созданием новых классов, поэтому принуждение разработчиков по очереди значительно сократить время разработки. В настоящее время лучше потратить время на ручное объединение файла проекта, чем по очереди вносить изменения в файл проекта.