Зафиксировать и нажать в затмении фиксирует весь файл как изменено

Я начал использовать постановку 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

Надеюсь, это поможет.

Другие вопросы по тегам