📜  如何在 Git 和 Github 中保护您的私人电子邮件地址?

📅  最后修改于: 2022-05-13 01:57:09.983000             🧑  作者: Mango

如何在 Git 和 Github 中保护您的私人电子邮件地址?

如果您使用 git 和任何代码托管平台(如 Github、Bitbucket、Gitlab 等)来上传/提交您的代码,那么您可能会公开您的私人电子邮件地址。本文重点介绍您的私人电子邮件地址是如何被公开的,以及您可以采取哪些措施来保护它们!

Git CLI 设置:

第一次设置git时,您必须使用这些命令来设置您的电子邮件地址用户名

git config --global user.email 
git config --global user.name 

您可以使用任何电子邮件地址。但是,您必须使用电子邮件地址 与您的GitHub 帐户相关联。

Git 提交会暴露您的电子邮件:

现在您已经设置了Git CLI ,您必须已提交代码并将其推送到公共存储库,所有git 提交都将包含以下信息:

  • 提交哈希
  • 作者姓名 <电子邮件地址>
  • 日期和时间
  • 提交消息

Git 提交暴露私人电子邮件地址

尽管 Github 的 Web 界面没有显示私人电子邮件地址,但可以克隆公共存储库并运行git log以查看提交历史记录,并且您的私人电子邮件地址会暴露出来!

要从git log获取所有电子邮件,您可以使用这个单行代码(在 Linux / Git Bash 中)

脚步:

  1. 克隆 Github 存储库
  2. cd进入克隆的存储库
  3. 运行单行:
git log | grep Author | cut -d ":" -f2 | sort -u | awk '{print $NF}' | sed -r 's///'

如何保护?

要保护私人电子邮件地址不被暴露在您的提交中,您必须配置Github 设置以及Git CLI

1. Github设置:

Github 提供了两个选项来保护您的私人电子邮件地址不被泄露。转到您的个人资料 -> 电子邮件并启用以下选项:

  1. 将我的电子邮件地址保密。
  2. 阻止暴露我的电子邮件的命令行推送。

Github 设置

注意:上述选项在 Bitbucket、Gitlab 和其他代码托管平台中可能有所不同。

2. Git CLI 的变化:

通过在 Github 设置中启用第二个选项,任何包含您的私人电子邮件地址的进一步提交都将被阻止。现在您必须将 Git CLI 配置为不包含您的私人电子邮件地址。

  • 您可以使用任何随机电子邮件 ID,例如email@example.com 。但问题是您的提交不会归功于您!
  • 或者,Github 提供了一个虚拟电子邮件 ID (在上图中突出显示),以确保提交归属于您并出现在您的贡献图中。

使用 git 命令更改电子邮件地址

git config --global user.email