1

我发现这个问题解释了在 Git 中更改多个提交的作者和提交者姓名和电子邮件当运行此处给出的任何脚本/命令时,原始提交是否仍存储在我的本地存储库中?有没有办法摆脱它们?

4

1 回答 1

4

是的。原始提交将保留在您的 git 存储库中。如果您查看git reflog,您可以看到最近更改的历史记录。只要在某处引用它们,提交就会永久保留。因此,例如,如果您有一个包含原始提交的分支,它们将永远不会被删除。但是,如果提交是孤立的(即它们不能从任何 ref 访问),那么它们最终将在git gc运行时被删除。但是,默认设置是 30 天内不会发生这种情况。要强制这种情况立即发生,您可以运行:

git reflog expire --all
git gc --prune=now --aggressive

请谨慎使用,因为您不想意外丢失所需的数据。这将删除任何未引用的提交。

于 2012-09-15T22:48:22.960 回答