为什么git log会显示我的密码?

5
当我输入git log命令后,显示的提交列表中会在我的用户名后面用尖括号<>括起来显示我的密码,如下所示:
commit 5ff14f929e2244f388a41b6f711e7b9b58c57cb2
Author: herman <MyPassw0rd>
Date:   Wed Aug 29 10:00:39 2018 +0200

initial commit 

为什么会出现这种情况,该如何修复?

4
你在某个地方把你的密码输入成了电子邮件地址。不要这样做(请参见下面的答案)。 - Tim Biegeleisen
1个回答

14

这不应该是你的密码,而应该是你的电子邮件。虽然我不知道你是如何将密码输入到电子邮件设置中的,但你可以在当前项目中设置你的电子邮件,方法如下:

git config user.email "email@example.com"

或者全局使用

git config --global user.email "email@example.com"

另外,您应该更改您的密码。


谢谢!我已经更改了这个设置,现在我的电子邮件地址会显示在新提交中。但是我的旧提交仍然包含旧密码。我尝试手动在/git文件夹中更改它。我可以在*.git/logs/HEAD.git/logs/refs/heads/master*中找到登录信息并进行更改,但是当我输入git log时,它仍然显示旧密码。我该怎么办? - Herman
1
Git,重写之前提交的用户名和电子邮件地址。但是,如果您与任何人共享了您的存储库,则会影响历史记录,您可能不想这样做(或者您应该强制推送,然后让每个人重新克隆)。并更改您的密码。 - Amadan
谢谢!但我收到了消息“git:'change-commits'不是git命令。”我可以找到命令git update-ref。(git版本2.15.2(Apple Git-101.1)) - Herman
1
请阅读完整个答案 :) 它解释了这是一个git别名,并给出了它的定义。(您甚至可以看到它在.gitconfig文件中是如何定义的) - Amadan
1
谢谢!我用 git filter-branch -f --env-filter "GIT_AUTHOR_NAME='新名字'; GIT_AUTHOR_EMAIL='新邮箱'; GIT_COMMITTER_NAME='提交者名字'; GIT_COMMITTER_EMAIL='提交者邮箱';" HEAD 成功完成了。 - Herman
只要你知道那里没有条件逻辑 - 它将更改 所有 提交。我希望你没有协作者。 :) - Amadan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接