在git merge上覆盖作者

时间:2012-02-25 19:38:24

标签: git version-control git-branch branching-and-merging git-merge

是否有像git-commit for git-merge这样的选项?

我们维护一个必须执行某些更改的暂存环境。一些限制使我们只使用一个Linux用户来访问登台环境。

无论如何,我们是一个有合作倡议的小团队,我们告诉做什么时提交,哪一个是作者使用--author git-commit选项。但是,有时我们需要从其他分支合并,这会导致非ff合并。这意味着在执行此合并时会执行提交。

在这种情况下,哪种手动为合并提交手动指定作者?

4 个答案:

答案 0 :(得分:22)

首先,阻止合并创建提交:

git merge --no-commit …

然后,手动提交:

git commit --author="A. U. Thor <au@th.or>"

答案 1 :(得分:11)

如果您已经合并,则可以--amend之后的作者身份。那样:

git checkout master
git merge my_branch
git commit --amend --author="My Nick <my.adress@email.com>"
git push origin master

这可以根据需要工作,并将指定的作者添加到合并提交。没有魔法。 :)

答案 2 :(得分:6)

尝试git merge --no-commit ...,然后git commit --author ...

答案 3 :(得分:1)

另一种方法是设置GIT_AUTHOR_NAME和GIT_AUTHOR_EMAIL环境变量:

GIT_AUTHOR_NAME="A. U. Thor" GIT_AUTHOR_EMAIL="au@th.or" git merge ...