git merge指定了错误的作者

时间:2013-11-01 09:50:59

标签: git merge

我遇到了在cygwin下编译的最新版git i的问题。

首先,它显示编辑器以输入合并消息。以前,它变得平静。 然后提交作者似乎与正常提交不同。

当我进行手动提交时,作者是User Name <username@email.com>,但当我合并时,作者姓名为Domain\username <username@username.machine.name.com>

有没有办法让合并指定与手动提交相同的auther?发生了什么事?

编辑我在全局git config中指定了name.name和name.email。似乎新的git merge并不尊重这些设置。

2 个答案:

答案 0 :(得分:2)

请记住,有3个地方可以输入配置。

做一个

cd  (to the git project folder)
git config --global -l

git config --local -l

You may also have a `--system` config

git config --system -l

并比较所有输出中的user.nameuser.email。它们应该只存在于--global中,但也许你在其中一个配置中有一个奇怪的。

PS。你说你有一个name.namename.email我想这只是一个错字?它们应为user.nameuser.email

编辑:提问者回复后

如果你有name.namename.email运行它来创建正确的设置

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

然后我会

git config --global --unset name.name 
git config --global --unset name.email 

答案 1 :(得分:1)

提示合并消息是Git的新功能。请参阅此处的Why is git prompting me for a post-pull merge commit message?

要确保您的设置正确,请检查输出:

$ git var GIT_AUTHOR_IDENT; git var GIT_COMMITTER_IDENT

这两者都应该是您的首选身份。如果你没有在环境中覆盖它,它将取自Git的配置。

Git的配置也是分层的,所以检查你是否没有覆盖存储库配置(.git / config)中的首选值:

$ git config --file --get user.name; git config --file --get user.email

应该是空的。

如果您的设置似乎正确并且合并仍然具有您不想使用的通用标识,请考虑sending a bug report给开发人员。