git clone后直接显示修改的文件

我目前遇到了一个存储库问题,虽然我的git-fu通常很好,但似乎无法解决此问题。

当我克隆这个存储库时,然后cd进入repo,git-status显示已更改的几个文件。 注意:我没有在任何编辑器或任何东西中打开回购。

我试着按照这个指南:http://help.github.com/dealing-with-lineendings/,但这对我的问题根本没有帮助。

我试过git checkout -- . 很多次,但似乎没有做任何事情。

任何帮助/想法将不胜感激

更新1:我在Mac上,回购本身没有子模块。

更新2:文件系统是Mac上的“Journaled HFS +”文件系统,不区分大小写。 这些文件是单行的,每个大约有79K(是的,你听到正确的),所以看着git diff并不是特别有用。 我听说过做git config --global core.trustctime false可能会有所帮助,当我回到计算机时,我会尝试使用回购协议。

更新3:用事实改变文件系统的细节! 并且,我尝试了git config --global core.trustctime false技巧,这种技巧工作得不好。


克隆repo后,我在Mac上遇到了同样的问题,它会假定所有文件都已更改。

运行git config --global core.autocrlf input它仍然将所有文件标记为已更改。 在寻找修复程序后,我在主目录中遇到了.gitattributes文件,它具有以下内容。

* text=auto

我评论说,从现在开始任何其他克隆库工作正常。 希望这可以帮助那里的任何人。


我知道了。 所有其他开发人员都在Ubuntu上(我认为),因此具有区分大小写的文件系统。 但是,我不(因为我在Mac上)。 事实上,当我使用git ls-tree HEAD <path>查看它们时,所有文件都是小写的双胞胎。

我会让他们中的一个把它整理一下。


git config core.fileMode false

在我的情况下解决了这个问题

https://www.kernel.org/pub/software/scm/git/docs/v1.7.10.1/git-config.html

TL; DR;

core.fileMode

如果为false,则索引和工作树之间的可执行位差异将被忽略; 对破碎的文件系统如FAT很有用。 请参阅git-update-index(1)。

缺省值为true,除非git-clone(1)或git-init(1)将在创建存储库时探测并设置core.fileMode为false(如果适用)。

链接地址: http://www.djcxy.com/p/30009.html

上一篇: Files showing as modified directly after git clone

下一篇: CSS: div height not filling vertically