如何在 Git 和 Github 中保护您的私人电子邮件地址?
如果您使用 git 和任何代码托管平台(如 Github、Bitbucket、Gitlab 等)来上传/提交您的代码,那么您可能会公开您的私人电子邮件地址。本文重点介绍您的私人电子邮件地址是如何被公开的,以及您可以采取哪些措施来保护它们!
Git CLI 设置:
第一次设置git时,您必须使用这些命令来设置您的电子邮件地址和用户名:
git config --global user.email
git config --global user.name
您可以使用任何电子邮件地址。但是,您必须使用电子邮件地址 与您的GitHub 帐户相关联。
The email address linked with Github ensures that commits are attributed to you and appear in your contributions graph.
Git 提交会暴露您的电子邮件:
现在您已经设置了Git CLI ,您必须已提交代码并将其推送到公共存储库,所有git 提交都将包含以下信息:
- 提交哈希
- 作者姓名 <电子邮件地址>
- 日期和时间
- 提交消息
尽管 Github 的 Web 界面没有显示私人电子邮件地址,但可以克隆公共存储库并运行git log以查看提交历史记录,并且您的私人电子邮件地址会暴露出来!
要从git log获取所有电子邮件,您可以使用这个单行代码(在 Linux / Git Bash 中) :
脚步:
- 克隆 Github 存储库
- cd进入克隆的存储库
- 运行单行:
git log | grep Author | cut -d ":" -f2 | sort -u | awk '{print $NF}' | sed -r 's// ; s/>//'
如何保护?
要保护私人电子邮件地址不被暴露在您的提交中,您必须配置Github 设置以及Git CLI 。
1. Github设置:
Github 提供了两个选项来保护您的私人电子邮件地址不被泄露。转到您的个人资料 -> 电子邮件并启用以下选项:
- 将我的电子邮件地址保密。
- 阻止暴露我的电子邮件的命令行推送。
注意:上述选项在 Bitbucket、Gitlab 和其他代码托管平台中可能有所不同。
2. Git CLI 的变化:
通过在 Github 设置中启用第二个选项,任何包含您的私人电子邮件地址的进一步提交都将被阻止。现在您必须将 Git CLI 配置为不包含您的私人电子邮件地址。
- 您可以使用任何随机电子邮件 ID,例如email@example.com 。但问题是您的提交不会归功于您!
- 或者,Github 提供了一个虚拟电子邮件 ID (在上图中突出显示),以确保提交归属于您并出现在您的贡献图中。
Any commits you made prior to changing your commit email address are still associated with your previous email address. You must delete your whole commit history to get rid of that email address.
使用 git 命令更改电子邮件地址:
git config --global user.email