Зафиксировать и нажать в затмении фиксирует весь файл как изменено
Я начал использовать постановку Git в "Eclipse Jee Oxygen". Каждый раз, когда я делаю небольшое изменение в файле (исправляю ошибку), я должен зафиксировать и нажать. Но в git весь файл изменился. Почему это происходит? Это смущает других людей, работающих в том же хранилище.
Как решить эту проблему, чтобы зафиксировать и отправить только изменения из промежуточного представления Git Eclipse?
Любая помощь приветствуется.
1 ответ
Это связано с изменением формата EOL для файла.
Существуют разные форматы EOL (конец строки). UNIX использует LF как разрыв строки, Windows использует CRLF, Mac использует другое. Достойные текстовые редакторы распознают формат файла и сохраняют его при сохранении файла (блокнота Windows нет в списке достойных текстовых редакторов. Он исторически испортил их... почему? Потому что, кто использует что-то кроме Windows???). Работа в мульти-ОС средах может быть сложной задачей.
Теперь, когда вы изменяете формат EOL для данного файла в ревизии (по желанию или по желанию), для VCS это похоже на изменение всего файла, что вы и видите.
Git предлагает несколько хитростей, чтобы не допустить этого. Для этого была старая реализация (с использованием autocrlf, я думаю), которая была довольно грязной, хотя она все еще доступна (и это, вероятно, вызывает у вас проблемы, изменяя формат EOL файлов за вашей спиной). Затем была другая попытка, которая намного лучше, которая использует атрибуты. В общем, лучшее, что вы можете сделать, это сказать git, чтобы файлы оставались такими, как есть, и не путались с форматом файлов EOL, добавив эту строку в .git/info/attributes
:
* -text
Надеюсь, это поможет.