git有效替换电子邮件地址

时间:2012-11-10 16:25:50

标签: git privacy git-filter-branch

我已经在git存储库上工作了一段时间,并选择与其他人共享。在我公开存储库之前,我已经将我的个人电子邮件地址用于提交,并且我正在尝试将其设置为另一个。 我已经阅读了一些像SO 750172这样的帖子,它可以与git log一起使用,但我仍然能够在.git/logs/HEAD.git/logs/refs/heads/master中找到包含grep的旧电子邮件。

有没有办法将它从那里删除,而不会丢失我的历史记录?

只有一个存储库副本,如果这有所不同。

1 个答案:

答案 0 :(得分:4)

在您重写历史记录以更改您的电子邮件地址之前,reflog将包含指向旧版本提交的指针,这就是旧电子邮件地址仍然可见的原因。这些引用对于您的存储库是本地的,并且这些引用和它们指向的提交都不会被推送到远程存储库。所以你已经清理了将被公开的历史。

如果您确定不需要返回并且想要清理reflog,那么您可以运行:

git reflog expire --expire=now --all

但是,这将删除一个安全的功能,并没有必要。

相关问题