【发布时间】:2013-11-21 10:14:27
【问题描述】:
我对 .gitattributes 行为感到困惑。
按照article 关于规范化行尾,我已经完成了以下步骤:
- 用
* text=auto创建了.gitattiributes - 在我的 dev Windows 机器上我有
core.autocrlf = true - 在我的 build Linux 机器上我有
core.autocrlf = input - 我在运行
git rm --cached -r . && git reset --hard && git add . && git commit -m "normalized" && git push develop origin/develop的开发机器上执行了行尾规范化。
根据我的想法,最后一步,应该最终将所有带有 LF 结尾的文本文件推送到存储库,从那一刻起,我所有的提交和 chechout 都不会受到任何平台上的行尾冲突的困扰。
但是当我在我的 build Linux 机器上克隆 repo 时,我立即得到了一堆标记为已更改的文件。如果在构建机器上的工作副本中我将 .gitattributes 行更改为# * text=auto(已注释),一切都会好起来的。
为什么会这样,我做错了什么?
【问题讨论】:
标签: git line-endings gitattributes