Переопределить автора в git merge - PullRequest
18 голосов
/ 25 февраля 2012

Есть ли опция типа --author для git-commit для git-merge?

Мы поддерживаем промежуточную среду, в которой должны быть выполнены некоторые изменения. Некоторые ограничения заставляют нас использовать только одного пользователя linux для доступа к промежуточной среде.

В любом случае, мы небольшая команда с совместной инициативой, и когда мы делаем коммиты, мы сообщаем, кто из них использует опцию --author git-commit. Однако иногда нам нужно объединяться из других веток, что приводит к слиянию без ff. Это означает, что при выполнении этого слияния выполняется фиксация.

Какой наилучший способ указать автора вручную для коммита слияния в этом случае?

Ответы [ 4 ]

22 голосов
/ 25 февраля 2012

Во-первых, не позволяйте слиянию создавать коммит:

git merge --no-commit …

Затем выполните коммит вручную:

git commit --author="A. U. Thor <au@th.or>"
11 голосов
/ 11 мая 2013

Вы можете --amend авторство впоследствии, если вы уже сделали слияние.вот так:

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

Работает как нужно и добавляет указанного автора в коммит слиянияНет магии.:)

6 голосов
/ 25 февраля 2012

Попробуйте git merge --no-commit ..., а затем git commit --author ...

1 голос
/ 14 октября 2017

Альтернативой может быть установка переменных среды GIT_AUTHOR_NAME и GIT_AUTHOR_EMAIL:

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