在 GitHub 公开仓库中隐藏自己的私人邮箱地址

 

GitHub 重点在开方源代码,其本身还是非常注重隐私的。这一点与面向企业的 GitLab 很不一样。

不过,你依然可能在 GitHub 上泄露隐私信息,例如企业内部所用的电子邮箱。


GitHub 对个人隐私的尊重

git 的设定,开发者需要设置自己的邮箱:

git 的邮箱设置
▲ git 的邮箱设置(即便是公开的邮箱,我也不在博客里贴出来)

而在 GitLab 上,我们可以很直接地在提交上面看到提交者的邮箱:

GitLab 上的提交信息
▲ GitLab 上的提交信息(图片已被魔改,毕竟邮箱是隐私)

但是在 GitHub 上,同样的行为是看不到邮箱的:

GitHub 上的提交信息
▲ GitHub 上的提交信息(图片原封不动)

不止是提交信息,在其他的很多页面中,你都不会看到 GitHub 暴露邮箱地址。

依然能看到的邮箱地址

在 GitHub 上可以单独看提交信息,比如你可以去这里看看:https://github.com/walterlv/Whitman/commit/1088973f71466aaed1eff7a5fdf00eb7f4604620。里面依然没有邮箱地址。

然而,当你在地址的最后面加上 .patch 之后,就变得不一样了:https://github.com/walterlv/Whitman/commit/1088973f71466aaed1eff7a5fdf00eb7f4604620.patch

- https://github.com/walterlv/Whitman/commit/1088973f71466aaed1eff7a5fdf00eb7f4604620
+ https://github.com/walterlv/Whitman/commit/1088973f71466aaed1eff7a5fdf00eb7f4604620.patch
From 1088973f71466aaed1eff7a5fdf00eb7f4604620 Mon Sep 17 00:00:00 2001
From: walterlv <lvyi@example.com>
Date: Sat, 4 Aug 2018 17:37:01 +0800
Subject: [PATCH] Use Segoe MDL2 Assets font.

---
 src/Whitman.Wpf/Themes/Window.Universal.xaml | 24 +++++++-------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/src/Whitman.Wpf/Themes/Window.Universal.xaml b/src/Whitman.Wpf/Themes/Window.Universal.xaml
index 8b78e41..522ab51 100644
--- a/src/Whitman.Wpf/Themes/Window.Universal.xaml
+++ b/src/Whitman.Wpf/Themes/Window.Universal.xaml

注意第二行,出现了我的邮箱地址。为了脱敏,我将内容替换成了 lvyi@example.com;如果你想看真正的邮箱地址,请前往真实的网页查看。

GitHub 在这一点上已经为我们做了很多了,至少查看邮箱地址已经不是普通人可以看得到的了。

添加隐私邮箱

GitHub 提供了两种方法来保护我们的邮箱隐私:

  1. 在推送时发现隐私邮箱则阻止推送;
  2. 使用 GitHub 专用的替代邮箱。

前往 https://github.com/settings/emails 可以对自己的邮箱地址进行设置。在 Primary email address 一栏,我们能看到 GitHub 为我们提供了一个专用的用于在 git 中配置的邮箱地址。

Primary email address

邮箱列表

继续往 GitHub 邮箱设置页面往下看,可以看到两个隐私设置。

  • 隐私地址转换:如果发现以上列表中的邮箱地址,则会转换为 GitHub 专用的邮箱地址。
  • 阻止推送:如果发现暴露了邮箱地址,则阻止推送。

隐私设置


参考资料

转载于:https://www.cnblogs.com/walterlv/p/10236430.html

### 如何在 Ubuntu 上 Fork 并克隆 GitHub 项目到本地仓库 为了实现将他人 GitHub 仓库中的代码同步至自己创建的 Ubuntu 环境下的新库,可以按照以下方法操作: #### 设置 Git 用户信息 在开始之前,需先配置全局用户名和邮箱地址以便提交记录能够关联到个人账户。 ```bash git config --global user.name "您的GitHub注册名" git config --global user.email "您的GitHub注册邮箱" ``` 此步骤确保每次提交都会附带正确的身份标识[^1]。 #### 创建 SSH 密钥并与 GitHub 连接 为简化认证流程以及提高安全性,建议通过 SSH 方式连接而非 HTTPS 。执行如下指令生成新的密钥对: ```bash ssh-keygen -t rsa -b 4096 -C "您的GitHub注册邮箱" eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 随后复制公钥内容 (`~/.ssh/id_rsa.pub`) 到剪贴板,并将其添加到 GitHub 账户的安全设置下【SSH 和 GPG 密钥】部分。 #### Fork 原始仓库 访问目标项目的主页,在右上方找到 **Fork** 按钮点击完成副本创建过程。这一步使得您可以拥有该项目的一个独立版本供后续修改调整[^3]。 #### 克隆已 fork 的仓库到本地 利用 `git clone` 将远程资源下载下来形成工作目录结构。 ```bash git clone git@github.com:您的用户名/您fork后的仓库名称.git cd 您fork后的仓库名称 ``` #### 配置原始仓库作为上游源(upstream) 为了让自己的分支保持最新状态,需要指定原来的开发者存储位置叫做 “upstream” : ```bash git remote add upstream https://github.com/原作者用户名/原仓库名称.git ``` #### 定期更新本地拷贝与推送至私人服务器(可选) 每当发现官方有了改动想要获取这些变化时,遵循下面的操作序列即可: ```bash # 获取最新的更改但不应用它们 git fetch upstream # 切换回主干或者开发分支准备合并变更项 git checkout main # 把来自远端master上的变动融入当前branch里去 git merge upstream/main # 如果存在冲突则手动解决后再继续commit/push动作;最后把结果上传给托管平台比如GitLab之类的第三方服务提供商那里存档备份起来吧~ git push origin main ``` 对于希望自动化这一系列任务的朋友来说,还可以考虑借助 CI/CD 工具像 GitHub Actions 来达成目的[^2]。 #### 处理子模块(Submodule)问题 (如有必要) 某些大型软件可能依赖其他外部组件构成整体解决方案的一部分, 此类情形下单纯地add文件夹会出现错误提示. 解决办法就是采用submodules机制来管理嵌套关系. 假设遇到某个特定libary无法正常加入,则尝试这样处理: ```bash git submodule add https://github.com/someone/library.git path/to/submodule ``` 其中URL指向那个难搞的小家伙所在的地方而后面则是打算放置它的相对路径[^4]. 以上便是完整的指导说明文档啦! 下面提供几个延伸思考方向帮助加深理解.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值