我一直在研究一个项目,并在一个文件夹中编辑了一堆文件。此文件夹驻留在我的本地,而不是由GIT监视。我通常会将整个文件夹复制到GIT观看的另一台计算机中,然后将其推送到回购站。现在的问题是,由于行结尾和空格被显示,一堆文件被显示为已更改,因为它正从windows复制到linux盒子。
我执行了以下命令: git diff --stat ,以显示所有已更改的行/字符更改的文件。
正如您所看到的,这些文件中的许多文件都没有进行任何更改。但是,它们仍显示在我的 git status 已修改部分中。
我如何将这些文件删除或恢复正常,因为我从未使用这些文件更改任何内容?
答案 0 :(得分:5)
检查您复制这些文件的目标Git仓库的配置。
git config core.autocrlf
请务必将其设为false:git config core.autocrlf false
(see more here)。
然后仔细检查.gitattributes
个文件的存在和内容。他们也可以用core.eol
directives来影响eol。
答案 1 :(得分: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