我已经在git存储库上工作了一段时间,并选择与其他人共享。在我公开存储库之前,我已经将我的个人电子邮件地址用于提交,并且我正在尝试将其设置为另一个。
我已经阅读了一些像SO 750172这样的帖子,它可以与git log
一起使用,但我仍然能够在.git/logs/HEAD
和.git/logs/refs/heads/master
中找到包含grep的旧电子邮件。
有没有办法将它从那里删除,而不会丢失我的历史记录?
只有一个存储库副本,如果这有所不同。
答案 0 :(得分:4)
在您重写历史记录以更改您的电子邮件地址之前,reflog将包含指向旧版本提交的指针,这就是旧电子邮件地址仍然可见的原因。这些引用对于您的存储库是本地的,并且这些引用和它们指向的提交都不会被推送到远程存储库。所以你已经清理了将被公开的历史。
如果您确定不需要返回并且想要清理reflog,那么您可以运行:
git reflog expire --expire=now --all
但是,这将删除一个安全的功能,并没有必要。