git-merge有像git-commit的--author
选项吗?
我们维护一个需要执行某些更改的暂存环境。由于某些限制,我们只能使用一个Linux用户访问暂存环境。
无论如何,我们是一个合作倡议的小团队,在做提交时,我们使用--author
git-commit选项告诉谁是作者。但有时我们需要从其他分支合并,这会导致非快进式合并。这意味着在执行此合并时进行了一次提交。
在这种情况下,手动指定合并提交的作者最好的方法是什么?
git-merge有像git-commit的--author
选项吗?
我们维护一个需要执行某些更改的暂存环境。由于某些限制,我们只能使用一个Linux用户访问暂存环境。
无论如何,我们是一个合作倡议的小团队,在做提交时,我们使用--author
git-commit选项告诉谁是作者。但有时我们需要从其他分支合并,这会导致非快进式合并。这意味着在执行此合并时进行了一次提交。
在这种情况下,手动指定合并提交的作者最好的方法是什么?
首先,防止合并操作创建提交:
git merge --no-commit …
然后,手动执行提交:
git commit --author="A. U. Thor <a.u@thor.example.com>"
如果您已经合并了代码,您可以使用--amend
来修改作者信息,就像这样:
git checkout master
git merge my_branch
git commit --amend --author="My Nick <my.address@example.com>"
git push origin master
这样做可以按预期将指定的作者添加到合并提交中,没有任何魔法。 :)
git merge --no-commit ...
然后再使用 git commit --author ...
。另一个选择是设置GIT_AUTHOR_NAME和GIT_AUTHOR_EMAIL环境变量:
GIT_AUTHOR_NAME="A. U. Thor" GIT_AUTHOR_EMAIL="au@th.or" git merge ...
git merge
会创建一个提交,如果要更改该提交的作者,则需要使用git commit --amend
。 - q9f