在vscode 1.15.0中,所有我的git提交使用了错误的作者电子邮件 @localhost ,而使用了正确的提交者电子邮件地址(macit 10.12上的git版本2.11.0(Apple Git-81))。 6)。我的配置如下:
通过vscode提交更改后,我执行git log --format=full
,结果如下:
commit <my git commit hash here>
Author: Michael Jordan <mj@localhost>
Commit: Michael Jordan <michael.jordan@jordan.com>
This is my dummy commit message
这很奇怪,因为在这种情况下,我既是作者又是提交者。但是,虽然提交者姓名/电子邮件很好,但似乎作者姓名正确且电子邮件错误。出于某种原因,作者的电子邮件似乎是我的Mac用户&#34; mj&#34;在localhost上。在另一方面,作者姓名&#34;迈克尔乔丹&#34;似乎是从git的user.name设置中获取的。
我知道我可以通过
轻松解决这个问题git commit --amend --author "Michael Jordan <michael.jordan@jordan.com>"
然而,在每次通过vscode提交后,这样做并不是很舒服。
如何通过vscode完成所有提交并为所有存储库修复此问题?值得一提的是,如果我使用Eclipse / egit,我就不会遇到这样的问题(我猜它使用的是user.name和user.email中的设置)。
我知道
git commit -m "My commit message" .
也使用&#34; Michael Jordan&#34;作为作者(与vscode相同)。我迫切需要的是vscode中的配置选项。我想避免挂钩...
有什么想法吗?
更新1:
我在Win 8.1上使用最新的git版本2.14.1和最新的x64 vscode 1.15.0尝试了同样的事情 - 它在那里工作得很好!这里的作者和预期的一样(所以COmmiter和Author都是一样的):
Michael Jordan <michael.jordan@jordan.com>
之后我在我的Mac上安装了git版本2.14.1并在那里试了一下。这里没用 - 作者的电子邮件错了。在这两种情况下,我都从GitHub克隆了git repo - 所以我在Win和Mac上都得到了干净的回购。唯一的区别必须是在Mac上我为GitHub配置了ssh密钥,而我在Win 8.1机器上没有这个密钥。
答案 0 :(得分:1)
看看我在.bash_profile中找到了什么:
...
export GIT_AUTHOR_NAME="Michael Jordan"
export GIT_AUTHOR_EMAIL="mj@localhost"
...
这会覆盖user.name和user.email
我的错: - (