让它好像我有.gitattributes整个时间

时间:2014-09-12 23:23:08

标签: git line-endings gitattributes

我有一个包含12个提交的相当新的存储库,所有这些都没有进行行结束规范化。

没有其他人在使用存储库,我想重写历史记录,以便从头开始应用行结束规范化(并避免在中间提交更改行结尾的事件)。

可以使用git rebase -i或其他内容完成吗?我猜测只需将.gitattributes提交到开头即可重新排序,但无法修复它。

2 个答案:

答案 0 :(得分:2)

如果您的存储库中没有.gitattributes版本并且只有一个分支,我认为只需创建.gitattributes文件和git rebase -i即可回购的第一次提交。编辑您的第一个提交,因此基于它的每个提交都会被更改,并且您已完成。

如果你有多个分支,你可能想要使用git filter-branch之类的东西,比如他们说to remove some file from each commit in the history,但只有12次提交它根本就没有必要。

答案 1 :(得分:0)

我很惊讶这个六年前的问答活动没有更多活动,所以这里是我发现的快速转储。

简单的选项

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

(很高兴更新这个答案)