GitHub Desktop: "этот файл пуст"

файл naaclhlt2016.tex не пуст на клиенте или в репозитории, однако GitHub Desktop отображает "этот файл пуст". Чем это можно объяснить?

enter image description here

файл naaclhlt2016.tex присутствует в репозитории GitHub:

enter image description here

git status:

enter image description here

Это создает конфликт, когда я пытаюсь синхронизировать:

enter image description here

3 ответов


после обсуждения, если изменение файла tex происходит только с точки зрения метаданных (а не фактического изменения содержимого файла после перекомпиляции latex), рабочий стол GitHub может быть не в состоянии отобразить какие-либо изменения.

поскольку он не обнаруживает никаких изменений, даже если список состояния git этот файл, он возвращается к сообщению" этот файл пуст".


в дополнение к ответу @VonC.

чтобы рассогласовать это предупреждение

ГИТ рабочего стола

  1. отменить выбор всех измененных файлов

  2. выберите только" этот файл пуст " files

  3. пыталась совершить

  4. Git отобразит ошибку фиксации, сказав, что вы не можете этого сделать. После закрытия модального, git должен удалить файлы из списка изменений.


я нахожу аналогичные результаты, когда есть несоответствие между autoCRLF настройки (например,~/.gitconfig) и хранение разрывов строк в текстовом файле. У меня .php файлы, которые были загружены на одной (Windows) машине, застегнуты и распакованы в папке Apache, затем я скопировал их в клонированное РЕПО, и иногда он жалуется на каждый файл как измененный. Файлы, хранящиеся на GitHub, похоже, были сохранены с CRLF (Они крупнее).

я не смог получить GitHub Desktop для обработки моих измененных файлов. Я пробовал полный свежий клон с autoCRLF=true, autoCRLF=input и autoCRLF=false, и все же GitHub Desktop либо сообщает файлы как пустые, либо каждая строка изменяется, в зависимости от настройки autoCRLF.

я считаю, что это полностью потому, что они были сохранены на GitHub с CRLFs в файлах, и Github Desktop, похоже, предполагает, что autoCRLF управляет (только) проверенными файлами и не будет сравнивать С CRLFs на GitHub, даже с autoCRLF=false. Это байт за байтом идентичные файлы, но они только LF, и он либо жалуется, что каждая строка изменилась, либо что файл пуст.

если я делаю git diff на одном из файлов, в этом случае feed.php, Я вижу: warning: CRLF will be replaced by LF in API/events/feed.php. The file will have its original line endings in your working directory.