user.name和user.email究竟是如何链接到提交的?如何从提交中获取?

时间:2015-12-29 12:39:23

标签: git

我记得很久以前我读过git commits的设置电子邮件会让你发垃圾邮件。

user.email和user.name究竟是如何链接到提交的?是否可以通过克隆项目或查看它来查看它们?

有没有办法以未经授权的方式获取电子邮件?

2 个答案:

答案 0 :(得分:3)

这是提交的结构,您可以看到名称和电子邮件是提交数据的一部分

enter image description here

  

是否可以通过克隆项目或查看项目来查看它们?

git log 

它将显示提交消息,其中包含您在图像绿色框中看到的所有其他元数据。

  

有没有办法以未经授权的方式获取电子邮件?

没有。您可以通过传递git commit -c user.name "aaa" -c user.email "a@a.net"来使用您想要的任何电子邮件,-c将覆盖配置文件中可能包含的任何配置。

答案 1 :(得分:2)

每次提交都包含提交元数据中该提交的作者和提交者电子邮件地址。例如,kernel.org上最新的内核开发git存储库提交:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/

您会注意到包含姓名和电子邮件地址的authorcommitter标记。

在github上,当您查看原始补丁时,您将在From:标记中看到类似的信息(将.patch添加到您正在查看的任何提交URL的末尾)例如:

https://github.com/mkrufky/linux/commit/master.patch

我相信以上回答了你的问题。如评论中所述,您可以使用git config --global user.name "Your Name" && git config --global user.email "your@email.address"进行设置,也可以直接修改~/.gitconfig以包含以下内容:

[user]
        name = Your Full Name
        email = your.email@addr.ess