修改Github上推式提交的用户名
我在Github上推了一个新的叉式git回购协议,但在提交之后,我注意到我的用户名不正确。我推的用户名是“Brock Woolf”,但应该是修改Github上推式提交的用户名,git,github,Git,Github,我在Github上推了一个新的叉式git回购协议,但在提交之后,我注意到我的用户名不正确。我推的用户名是“Brock Woolf”,但应该是brockwoolf,这是我在github上的用户名 我已经在本地更改了默认值,如下所示: git config --global user.name "brockwoolf" 但是我怎样才能在已经推送的更改上更改用户名呢?我想起来了: git commit -a --amend git pull git push 请随意回答,如果你有更好的方法,我会给
brockwoolf
,这是我在github上的用户名
我已经在本地更改了默认值,如下所示:
git config --global user.name "brockwoolf"
但是我怎样才能在已经推送的更改上更改用户名呢?我想起来了:
git commit -a --amend
git pull
git push
请随意回答,如果你有更好的方法,我会给你的方法打上正确的标记。已经推动的改变,如果人们已经改变了,你将不得不忍受。如果没有人拉它(即,你在推后马上意识到你的错误),你可以修改你的提交:
git commit --amend
确保不向提交添加任何新更改-不要使用-a
,不要先使用git add
。然后您可以强制推送,因为这是一个非快进更改:
git push -f
如果有人已经用不正确的名字进行了提交。。。这可能不会把它们搞砸,因为将其与包含原始提交的内容合并应该很容易;补丁是相同的。然而,如果那个人曾经推回到你的回购协议,他们会推合并-连同它的一方的原始提交。如果你最终在回购协议中同时使用了两个名字,那就有点违背了给自己重新命名的目的。(这正是我在评论OP的答案时所描述的问题。)如前所述,您可以这样做
git commit --amend --author="Author Name <email@address.com>"
git push -f
git提交--amend--author=“作者姓名”
git-push-f
你当然可以对你的项目做你想做的事情,但是配置参数是
user.name
,而不是用户名,就像“用户名”一样。使用真名是很常见的。我知道,但是对于github,你使用你的用户名,否则我想它不会关联Gravatar。重复的@Brockwolf no,“name”字段对GitHub中的任何内容都没有实际影响;电子邮件地址决定你的坟墓和身份。这实际上不会改变原来的提交。git pull
获取origin/master
的原始位置,即原始提交的master@{1}
。然后将其合并。合并进展顺利,因为双方做出了完全相同的变化;唯一的区别是提交的名称和日期。两个提交仍然存在。(并且您可能不需要-a
,除非您正在提交其他更改以及更改名称…。@Jefromi:谢谢您的评论。是的,我可能不需要“-a”开关。-f不在push的手册页中。f的作用是什么?类似于收银台f的东西?@乔纳森:是的。它在用法声明中的名称是[-f|--force]
,在选项部分的短名称和长名称下都有描述。它实现了我在回答中的建议:非快进推进通常被拒绝,但这迫使它被接受。我收回我的问题——它肯定就在那里。我一定是昏了头。也许我看错人了,哈哈。@乔纳森:哈哈,好吧。我想知道您是否正在查看v0.99手册页或其他内容。