3

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

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

这可以用git rebase -i其他方法完成吗?我猜只是重新排序并提交.gitattributes到开头不会解决它。

4

2 回答 2

3

如果您的存储库中没有.gitattributes版本控制并且只有一个分支,我认为只创建.gitattributes文件并git rebase -i从 repo 的第一次提交就足够了。编辑您的第一个提交,因此基于它的每个提交都会更改,您就完成了。

如果你有多个分支,你可能想要使用git filter-branch他们所说的从历史中的每个提交中删除一些文件,但是只有 12 个提交,根本没有必要。

于 2014-09-13T05:33:46.953 回答
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

(很高兴更新这个答案)

于 2021-06-08T05:54:21.270 回答