如何从历史github提交中删除或更改您的git user.name?

时间:2016-09-29 05:08:41

标签: git github

我担心自己的隐私,不希望我的真实姓名出现在我的github提交中。我刚刚发现github正在保存我的user.name作为贡献者以及我的github用户名。我现在已经改变了我的本地git user.name,所以未来的提交会很好。但现在我想知道如何才能返回并更改之前在github上的repo中提交的user.name?

1 个答案:

答案 0 :(得分:1)

除了评论中建议的filter-branch之外,交互式rebase是另一种选择。

使用Interactive Rebase

git rebase -i -p <some HEAD before all of your bad commits>

然后将所有错误提交标记为rebase文件中的“edit”。然后,当git要求您修改每个提交时,请执行

 git commit --amend --author "New Author Name <email@address.com>" 

保存并关闭打开的编辑器,然后执行

git rebase --continue

继续改变。

添加--no-edit以跳过打开编辑器,命令将为:

git commit --amend --author "New Author Name <email@address.com>" --no-edit && \
git rebase --continue

要更改作者和提交者:

 git -c user.name="New Author Name" -c user.email=email@address.com commit --amend --reset-author