【问题标题】:git merge specifies wrong authorgit merge 指定了错误的作者
【发布时间】:2013-11-12 12:15:52
【问题描述】:

我在 cygwin 下编译的最新版本的 git 有问题。

首先,它显示编辑器输入合并消息。以前,它风靡一时。 然后提交作者似乎与正常提交不同。

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

有没有办法进行合并以指定与手动提交相同的身份?发生了什么事?

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

【问题讨论】:

  • 你的意思是你设置了 user.nameuser.email 吗? IOW,您是否设置了正确的变量?
  • 不,是name.name和name.email

标签: git merge


【解决方案1】:

记住有 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 

【讨论】:

  • 感谢您的回答,我只有一个系统配置,我发现它有 [name] 部分,并且那里有名称和电子邮件参数。所以问题可能是错误的部分名称。但它仍然适用于手动提交。
  • cat pathToRepo/.git/config 也可以显示本地配置
【解决方案2】:

提示合并消息是 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

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 2011-04-03
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-15
    • 2023-03-20
    • 2014-04-14
    相关资源
    最近更新 更多