当通过GitHub的Web界面执行操作(例如合并pull请求或处理gh-pages)时,提交的作者是:
real name <email@address>
但我希望它是
user name <email@address>
有没有办法改变这个?
当我在本地仓库工作并从这里开始推送时,一切都如预期一样。
修改
以下是重现此问题的一些简单步骤:
这是一个测试仓库(稍后我会再次删除):https://github.com/puce77/test
修改2
或者是否建议使用真实姓名?是什么原因?我认为用户名是唯一的,但真实姓名可能不是。实名更改(例如婚姻)的可能性比用户名更多。
答案 0 :(得分:0)
您的用户名将您的提交与身份相关联。要在本地存储库上设置它,请使用以下命令:
git config user.name "Your name"
为计算机上的每个存储库全局设置:
git config --global user.name "Your name"
全部根据documentation
答案 1 :(得分:0)
您可以将用户名添加为共同作者,这不能解决问题,但可能会有所帮助。例如:https://help.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors#creating-co-authored-commits-on-github
答案 2 :(得分:0)
您的问题:
如何在GitHub中使用用户名作为作者而不是真实姓名?
您正在寻找不良做法。
答案:
手动
# For global configuration on your PC.
git config --global user.name "your_username"
# For local configuration on your client repository
git config --global user.name "your_username"
(这是不好的做法)
最佳原始做法
# For global configuration on your PC.
git config --global user.name "Your fullname"
# For local configuration on your client repository
git config --global user.name "Your fullname"
自动方式:不存在解决方案,Git或GitHub不建议这样做(一种简单的逻辑,当GitHub具有电子邮件地址时,GitHub可以根据帐户的用户名来推断。
查找您的信息:让我们键入命令
git config --list
您会看到,Git设计人员不建议使用,或者仅 user.name
答案 3 :(得分:0)
注意事项:此命令更改用户名new @ email上OLD_EMAIL为old @ email的每次提交中的提交者数据。由于此更改,SHA1提交了git push require -f(force)
git filter-branch --env-filter '
OLD_EMAIL="old@email"
CORRECT_NAME="username"
CORRECT_EMAIL="new@email"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
git push -f