.gitattributes和规范化行结尾:仍然存在已更改的文件

时间:2013-11-21 10:14:27

标签: git line-endings gitattributes

我对.gitattributes行为感到困惑。

关于规范化行结尾的article之后,我完成了以下步骤:

  • 使用* text=auto
  • 创建.gitattiributes
  • 在我的开发Windows机器上我有core.autocrlf = true
  • 在我的构建Linux机器上我有core.autocrlf = input
  • 我在运行git rm --cached -r . && git reset --hard && git add . && git commit -m "normalized" && git push develop origin/develop的开发机器上执行了行结束规范化。

根据我的想法,最后一步应该最终将所有带有LF结尾的文本文件推送到存储库,从那时起,我所有的提交和删除都不会受到任何平台上的行尾冲突的困扰。

但是当我在我的构建Linux 机器上克隆了repo时,我立即得到了一堆标记为已更改的文件。如果在构建机器上的工作副本中我将.gitattributes行更改为# * text=auto(注释),一切都会变好。

为什么会这样,我做错了什么?

1 个答案:

答案 0 :(得分:0)

嗯,你好像要混淆命令的顺序:“git reset --hard”应该是最后一个,否则,我没有看到git add实际上会向索引添加任何东西......