我有一个相当新的存储库,其中包含 12 个提交,所有这些都没有行尾规范化。
没有其他人在使用存储库,我想重写历史记录,以便从一开始就应用行尾规范化(并避免中间的提交更改行尾)。
这可以用git rebase -i
其他方法完成吗?我猜只是重新排序并提交.gitattributes
到开头不会解决它。
我有一个相当新的存储库,其中包含 12 个提交,所有这些都没有行尾规范化。
没有其他人在使用存储库,我想重写历史记录,以便从一开始就应用行尾规范化(并避免中间的提交更改行尾)。
这可以用git rebase -i
其他方法完成吗?我猜只是重新排序并提交.gitattributes
到开头不会解决它。
如果您的存储库中没有.gitattributes
版本控制并且只有一个分支,我认为只创建.gitattributes
文件并git rebase -i
从 repo 的第一次提交就足够了。编辑您的第一个提交,因此基于它的每个提交都会更改,您就完成了。
如果你有多个分支,你可能想要使用git filter-branch
他们所说的从历史中的每个提交中删除一些文件,但是只有 12 个提交,根本没有必要。
我很惊讶这个六年前的问答没有更多的活动,所以这里是我发现的快速转储。
简单的选项
git rebase -i --root
首先更改为edit
.gitattributes
* text=auto eol=lf
然后
git add .gitattributes
git rebase --continue
而逃避的可能需要https://www.edwardthomson.com/blog/advent_day_21_renormalizing_line_endings.html
(很高兴更新这个答案)