【发布时间】:2013-11-05 05:36:15
【问题描述】:
我在 Linux A 上有一个 repo 推送到 GitHub,然后被拉到另一个 Linux B。
我已将 *.dat 更改为 .gitattributes 中的文本。并将其推拉到 Linux B。
在 Linux B 上,git 状态报告所有 .dat 文件都已修改。
在 Linux B 上,我执行 git reset --hard HEAD
Linux B git status still 报告所有 .dat 文件都已修改
现在,如果我将更改从 Linux A 推送到 GitHub,Linux B 拉取报告 “错误:您对以下文件的本地更改将被合并覆盖” 列出的文件都是 .dat 文件。
git diff 列出每行更改,但它是一个 Unix 格式文件,而 repo 存储 Unix 格式文件。
有什么想法吗?
【问题讨论】:
-
我原以为在 Linux B 上进行硬重置后,您应该已经同步了存储库。也许尝试
git clean -fdx,如果仍然没有帮助,请重新规范化 Linux B 存储库(这个link 可能会有所帮助) -
当我将更改提交到 repo 时,它报告将行尾从 CRLF 更改为 LF。我推测作为一个二进制文件,CRLF 被放入了 repo。然后我改变了它的存储类型,所以在 repo 中应该有 LF,但是因为它是 CRLF,所以报告了修改。有人可以确认吗?
-
@miqid - 我刚刚注意到你的评论。重新规范化将解决这个问题。谢谢。
标签: git