如何为 vscode 中的每个 git 提交设置默认作者电子邮件?



在vscode 1.15.0中,我所有的git提交都使用错误的作者电子邮件@localhost,而使用了正确的提交者电子邮件地址(macOS 10.12.6上的git版本2.11.0(Apple Git-81((。我的配置如下:

  1. 我克隆并推送通过 ssh 键(从和到 github(
  2. 全球 user.name = 迈克尔·乔丹
  3. 全局 user.email = michael.jordan@jordan.com
  4. 我什至在我的克隆存储库中本地设置了 user.email
  5. 我的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

我的错:-(

最新更新