我试图在互联网上到处找到答案,但没有成功。
我的问题是,出于某种原因,在一台新笔记本电脑上,我用"电子邮件"代替了"姓名",用"密码"代替了"电子邮件"。现在,在历史上,每个人都可以看到我的电子邮件及其密码(facepalm(。
所以我的问题是:历史上有没有办法重命名作者的名字和电子邮件?
p.s:commit仍在本地分支中
屏幕截图
您确实无法修复错误提交,但您可以停止使用它,然后小心不要将其发送到任何其他Git存储库,这样其他人就看不到它。
要对现有提交进行新的改进变体,必须将原始的(坏的(提交复制到新的改进的提交。在更改作者信息的同时复制分支上的最后提交很容易:
git commit --amend --reset-author
将使用您当前的user.name
和user.email
设置。现有的最终提交将是";踢开了分支的末端";,如图所示:
...--G--H <-- somebranch (HEAD)
这里CCD_ 3是";坏的";commit是最近的;这是";在CCD_ 4"之前;。这变成:
H
/
...--G--I <-- somebranch (HEAD)
请注意,提交H
仍然存在于Git存储库中,但除非能够找到其哈希ID,否则您将无法查看提交H
。
如果";坏的";提交在链的后面:
...--E--F--G--H <-- somebranch (HEAD)
如果提交F
不好,那么您就有一个更困难的任务:您必须将提交F
踢出链,但这也会将提交G
和H
踢出链。这意味着您必须将F
复制到一个新的改进的I
,然后再复制G
和H
。这很难做到,因为git rebase
和git cherry-pick
希望保留原始作者信息,但这仍然是可能的,尤其是对于git rebase -i
和git commit --amend
。
简单提交修正修复了问题。抱歉这篇没用的帖子。
git commit --amend --author="Fedor <fedor@bodr.com>"