一旦我在我的 macbook pro 上克隆了某个存储库,我立即看到该存储库中已修改的文件。我试过 git pull、git checkout、git reset,似乎没有什么可以让这些据称修改过的文件消失。我已经使用 git 一段时间了,之前从未见过这个。可能是什么原因造成的?
最佳答案
有一个配置文件将某些类型的源文件标记为文本,换行符将被转换。在存储库的根目录中有一个 .gitattributes
文件,或者在您的主目录中有一个全局的 ~/.gitattributes
。
你可以做两件事:
- 修改
.gitattributes
配置,这样文件就不再被标记为text
- 提交提议的更改,使存储库与规范保持一致;我会推荐这个解决方案
我想说的是让 git 正确处理换行符,所以有人在 .gitattributes
中添加了配置,当发生这种情况时,git 不会自动修复已在工作树中 checkout 的现有文件。但是新的克隆会重新将这些文件放入工作树并自动修复它们,因此下次您将工作树与索引进行比较时 git 会报错。
关于Git 将随机文件显示为克隆后的修改;不能丢弃它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205846/