我有一个相当新的存储库,包含12个提交,所有提交都没有行结束规范化。
没有其他人在使用存储库,我想重写历史记录,以便从一开始就应用换行规范化(并避免中间的提交更改换行)。
这可以用git rebase -i
或其他东西完成吗?我猜,仅仅在开始时提交.gitattributes
来重新排序并不能修复它。
如果您的存储库中没有.gitattributes
版本,并且只有一个分支,我认为从repo的第一次提交开始创建.gitattributes
文件和git rebase -i
就足够了。编辑你的第一次提交,这样基于它的每一次提交都会被更改,你就完成了。
如果你有多个分支,你可能想使用一些git filter-branch
,就像他们说的那样,从历史中的每个提交中删除一些文件,但只有12个提交,这应该根本没有必要。
我很惊讶这个六年前的问答没有更多的活动;A所以这里是我发现的东西的快速转储
简单选项
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
(很高兴更新这个答案)