小编典典

尝试使用 git filter-branch 修复行尾,但没有运气

all

我被 git 的 Windows/Linux 行尾问题所困扰。看来,通过 GitHub、MSysGit 和其他来源,最好的解决方案是将本地存储库设置为使用
linux 样式的行尾,但设置core.autocrlftrue. 不幸的是,我没有足够早地这样做,所以现在每次变化时,行尾都是无的。

我以


阅读 107

收藏
2022-05-04

共1个答案

小编典典

gitattributes的 git
文档现在记录了另一种“修复”或规范化项目中所有行尾的方法。这是它的要点:

$ echo "* text=auto" >.gitattributes
$ git add --renormalize .
$ git status        # Show files that will be normalized
$ git commit -m "Introduce end-of-line normalization"

如果任何不应规范化的文件出现在 git status 中,请在运行 git add -u 之前取消设置其文本属性。

manual.pdf -text

相反,git 没有检测到的文本文件可以手动启用规范化。

weirdchars.txt text

这利用了--renormalize2018 年 1 月发布的 git v2.16.0 中添加的新标志。对于旧版本的 git,还有几个步骤:

$ echo "* text=auto" >>.gitattributes
$ rm .git/index     # Remove the index to force git to
$ git reset         # re-scan the working directory
$ git status        # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"
2022-05-04