使“在更改行结束后刷新存储库”工作

时间:2018-05-08 08:42:11

标签: git github

执行此操作的所有链接都会导致此链接:https://help.github.com/articles/dealing-with-line-endings/#platform-all

我正在尝试关注此链接,但无法让它发挥作用。

我在Windows上。

我创建一个裸存储库,然后将其克隆到clone1。 我使用混合行结尾(LF和CRLF)将文件添加到clone1并提交并推送。

现在我想修复行结尾。 我将core.autocrlf设置为true并使用.gitattributes在存储库中创建* text=auto

按照步骤我删除.git目录以外的所有目录,然后继续步骤:

rm .git/index
git reset
git status

我的git状态告诉我我有一个文件要删除,这不是步骤所期望的 - Show the rewritten, normalized files.

然后我尝试在不删除文件的情况下执行此操作:

rm .git/index
git reset
git status

但这不会导致任何更改。

我期望它能够规范化文件行结尾,并且文件将有更改提交。

由于很多人都指向这个链接,我相信我做错了但看不到它?为什么这不起作用?

1 个答案:

答案 0 :(得分:4)

我会建议稍微不同的解决方案。

请确保您使用的是Git 2.16或更高版本,而不是删除索引文件并重新生成它。此版本为git add添加了新选项--renormalize

  

应用"清洁"新近处理所有跟踪的文件,强制将它们再次添加到索引中。在更改core.autocrlf配置或text属性以更正添加了错误CRLF / LF行结尾的文件后,这非常有用。此选项隐含-u

只需运行git add --renormalize .并提交。