我遇到了在cygwin下编译的最新版git i的问题。
首先,它显示编辑器以输入合并消息。以前,它变得平静。 然后提交作者似乎与正常提交不同。
当我进行手动提交时,作者是User Name <username@email.com>
,但当我合并时,作者姓名为Domain\username <username@username.machine.name.com>
有没有办法让合并指定与手动提交相同的auther?发生了什么事?
编辑我在全局git config中指定了name.name和name.email。似乎新的git merge并不尊重这些设置。
答案 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.name
和user.email
。它们应该只存在于--global
中,但也许你在其中一个配置中有一个奇怪的。
PS。你说你有一个name.name
和name.email
我想这只是一个错字?它们应为user.name
和user.email
编辑:提问者回复后
如果你有name.name
和name.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给开发人员。