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?
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>"
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. :)
Try git merge --no-commit ...
and then git commit --author ...
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