在Git中以不同作者创建提交
每个Git提交都与一个作者相关联,通常在你的机器上全局配置。但是如果你想以其他人的身份提交代码怎么办?如果你的Git配置有误或者想在特定的提交中使用不同的电子邮件,该怎么办?如果你已经做了一个提交并且想要更改其作者,又该怎么办呢?
以不同作者创建提交
只要你有作者的信息,你就可以以他们的身份创建提交。使用git commit
命令的--author
选项可以让你以不同作者创建新的提交。
# 语法: git commit --author="<姓名> <电子邮件>"
# 对文件进行一些更改
git add .
git commit -m "修复网络错误" --author="Duck Quackers <cool.duck@qua.ck>"
# 创建了一个由`Duck Quackers`提交的提交
更改最后一次提交的作者
如果你想更改最后一次提交的作者,只需要在上一个命令中添加--amend
标志。你可以在我们的修改提交指南中了解更多关于更新提交的信息。
# 语法: git commit --amend --author="<姓名> <电子邮件>"
# 对文件进行一些更改
git add .
git commit -m "修复网络错误" --author="Duck Quackers <cool.duck@qua.ck>"
# 创建了一个由`Duck Quackers`提交的提交
# 编辑或添加文件
git add .
git commit --amend --author="Quack Duckers <ducky-o@qua.ck>"
# 最后一次提交已更新,作者为`Quack Duckers`
注意事项
更改提交的作者也会更改其SHA-1校验和。如果您已经将提交推送到远程仓库,您需要强制推送更新后的提交到远程仓库。
此外,如果您的远程仓库配置为仅接受签名提交,除非您拥有原始作者的GPG密钥,否则您可能无法对提交进行签名。
最后,您不能使用--author
来向提交添加多个作者。如果您想这样做,您可以在相关片段中找到更多信息。