问题
Is there an option like --author of git-commit for git-merge?
We maintain a staging environment where some changes must be performed. Some limitations make us to use only one linux user to access staging environment.
Anyway, we are a small team with cooperative initiative and we tell when doing commits, which one is the author using the --author git-commit option. However, some times we need to merge from other branches which result in a non-ff merge. This implies a commit is performed when doing this merge.
Which would be the best way to specify the author manually for the merge commit in this case?
回答1:
First, prevent the merge from creating the commit:
git merge --no-commit …
Then, do the commit manually:
git commit --author="A. U. Thor <au@th.or>"
回答2:
You can --amend
the authorship afterwards if you already did the merge. like that:
git checkout master
git merge my_branch
git commit --amend --author="My Nick <my.adress@email.com>"
git push origin master
This works as desired and adds the specified author to the merge commit. No magic. :)
回答3:
Try git merge --no-commit ...
and then git commit --author ...
回答4:
An alternative could be to set the GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL environment variables:
GIT_AUTHOR_NAME="A. U. Thor" GIT_AUTHOR_EMAIL="au@th.or" git merge ...
来源:https://stackoverflow.com/questions/9447371/override-author-on-git-merge