所以我忘记将我的姓名和电子邮件添加到git config中,当我推送更改后,我得到了一个默认名称。基本上看起来像这样:
我应该如何更改此列表中第二次提交的名称和电子邮件(从上到下),而又不影响其他内容或弄乱分支?
编辑:我忘了补充一点,我是唯一从事此分支功能的人。
答案 0 :(得分:2)
您可以重新设置分支的基础,这将使您“重做”提交并使它具有您的名字。然后,您需要强制将更改推送到遥控器。
执行此操作的命令是:
git rebase -i <SHA before the commit with the default name>
您将获得提交列表,对于默认名称的提交,请指定您要“重新编写单词”。保存提交消息,您的历史记录将是最新的。
要更新遥控器,您需要执行git push -f
。这告诉git,您所做的更改应覆盖远程存储库中的内容。
不建议这样做
执行上述操作正在更改历史记录,如果其他人也在该分支机构上工作,则会引起问题。当他们尝试使用您的更改更新分支时,他们将遇到问题。如果您是唯一与此分支机构打交道的人,那不是问题。
如果有多个人在分支上工作,则仅保留提交即可。推送后,您就不想重写历史记录。
答案 1 :(得分:1)
您实际上不能不进行任何修改。修改修订中的任何信息(例如带有修订)将创建完全不同的修订。您可以这样做:
git checkout my-branch~2 # two revisions back from the branch tip
git commit --amend --author "Foo Bar <darthv@empire.com>"
git cherry-pick my-branch~2..my-branch # reapply revisions 3 and 4
git branch -f my-branch # set my-branch over here
但是从修改的角度出发,您正在创建与原始版本(在历史记录上)无关的全新版本。要求用力推动遥控器来替换分支,将要求其他开发人员意识到这一变化,以便他们可以在已经在该分支顶部工作的情况下进行重新部署。无论如何,并不是特别痛苦。...如果您问我,照常营业。