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

时间:2017-08-15 11:36:36

标签: git visual-studio-code

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

  1. 我克隆&推送通过ssh键(从和到github)
  2. Global user.name = Michael Jordan
  3. Global user.email = michael.jordan@jordan.com
  4. 我甚至在我的克隆存储库中本地设置了user.email
  5. 我的Mac用户 mj (所以我的家庭目录是 / Users / mj
  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机器上没有这个密钥。

1 个答案:

答案 0 :(得分:1)

看看我在.bash_profile中找到了什么:

...
export GIT_AUTHOR_NAME="Michael Jordan"
export GIT_AUTHOR_EMAIL="mj@localhost"
...

这会覆盖user.name和user.email

我的错: - (