2016-04-01 8 views
8

Я работал над проектом и редактировал кучу файлов в папке. Эта папка находится на моем локальном компьютере и не просматривается GIT. Обычно я копирую всю папку на другой компьютер, на который GIT переводится в репо. Проблема в том, что куча файлов отображается как измененная из-за появления строк и пробелов, поскольку она копируется из окон в окно linux.Есть ли способ в GIT, чтобы удалить файлы, измененные с момента их совершения, если он имеет менее 2 символов?

Я выполнил следующую команду: git diff --stat, чтобы показать все файлы, измененные с # измененными строками/символами.

enter image description here

Как вы можете видеть, что многие из этих файлов имеют нулевые изменения, сделанные им. Тем не менее, они все еще отображаются в моем git status изменен раздел.

Как удалить или вернуть их обратно в нормальное состояние, поскольку я ничего не изменил с этими файлами?

+2

лучше спросить, как вы получите мерзавца игнорировать символы новой строки изменения. [Вот документ Github на этом] (https://help.github.com/articles/dealing-with-line-endings/). – Schwern

+0

Спасибо за разъяснение. Это виновник, который вызывает эту проблему? –

+2

Возможный дубликат [Git status ignore line endings/same files/windows & linux environment/dropbox/mled] (http://stackoverflow.com/questions/20496084/git-status-ignore-line-endings-identical-files- windows-linux-environment) –

ответ

1

Я думаю, что более вероятно, что эти файлы появляются из-за изменений режима. Попробуйте запустить git diff на одном из них. Вы видите что-то вроде этого?

$ git diff query.viewport.js 
diff --git a/query.viewport.js b/query.viewport.js 
old mode 100644 
new mode 100755 

Если да, то вы можете быть в состоянии решить эту проблему с чем-то вроде:

$ find modules/hotsite/ -type f -print0 | xargs -0 chmod -x 
5

Проверьте конфигурацию вашего пункта назначения Git repo, в котором вы копируете эти файлы.

git config core.autocrlf 

Убедитесь, чтобы установить его в ложное: git config core.autocrlf false (see more here).

Затем проверьте наличие и содержимое .gitattributes файлов. Они также могут влиять на эол с помощью core.eol directives.