在vscode 1.15.0中,我所有的git提交都使用错误的作者电子邮件@localhost,而使用了正确的提交者电子邮件地址(macOS 10.12.6上的git版本2.11.0(Apple Git-81((。我的配置如下:
- 我克隆并推送通过 ssh 键(从和到 github(
- 全球 user.name = 迈克尔·乔丹
- 全局 user.email = michael.jordan@jordan.com
- 我什至在我的克隆存储库中本地设置了 user.email
- 我的Mac用户是mj(所以我的家庭目录是/Users/mj(
通过 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用户"mj"看来是本地主机上的。另一方面,作者的名字"Michael Jordan"似乎是从 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" .
还使用"迈克尔乔丹"作为作者(与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 存储库 - 所以我真的在 Win 和 Mac 上都有干净的存储库。唯一的区别必须是,在Mac上,我已经为GitHub配置了ssh密钥,而我的Win 8.1机器上没有。
看看我在.bash_profile中发现了什么:
...
export GIT_AUTHOR_NAME="Michael Jordan"
export GIT_AUTHOR_EMAIL="mj@localhost"
...
这是覆盖 user.name 和 user.email
我的错:-(