更改Git中的提交作者后,原始提交是否仍然存在?

时间:2012-09-15 21:54:55

标签: git version-control

我发现这个问题解释了Change the author and committer name and e-mail of multiple commits in Git当运行这里给出的任何脚本/命令时,原始提交是否仍存储在我的本地仓库中?有没有办法摆脱它们?

1 个答案:

答案 0 :(得分:4)

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

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

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