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

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


GitHub 对个人隐私的尊重

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


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

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


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

但是在 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 中配置的邮箱地址。

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

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


参考资料

在 GitHub 公开仓库中隐藏自己的私人邮箱地址的更多相关文章

  1. 从GitHub远程仓库中删除文件夹或文件

    在上传项目到github时,忘记忽略了某个文件夹target,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的target文件夹 删除前: 删除后: 在github上只能删除仓库,却 ...

  2. 使用git在github远程仓库中操作

    在github上创建一个仓库,这一步参考廖雪峰老师的git教程,以及其他的一些准备工作略,我只记录几个重要的命令. 从其他github地址克隆项目 $ git clone git@github.com ...

  3. 由于github仓库中提前建立readme文件,导致git push报错error: failed to push some refs to 'git@github.com:

    $ git push -u origin master To git@github.com:xxx/xxx.git ! [rejected] master -> master (fetch fi ...

  4. github 远程仓库操作

    工作中需要在github上保存项目,一个仓库中有多个分支,进行一些实验,方便后面操作. 参考链接 http://rogerdudler.github.io/git-guide/index.zh.htm ...

  5. Github:修改Github仓库中项目语言类型

    前述 有的时候我们把项目上传到github仓库上时语言会显示错误语言 比如一个java项目可能因为有js文件的存在而被识别为js项目 这种时候我们就要手动去修改Github的项目语言类型 解决办法 在 ...

  6. 如何将本地git仓库中的代码上传到github

    1,  在github上新建一个仓库,比如为:CSS3Test,仓库地址为:https://github.com/hyuanyuanlisiwei/CSS3Test 2,本地git仓库中的文件项目为C ...

  7. 将本地的一个新项目上传到GitHub上新建的仓库中去

    转载: 如何将本地的一个新项目上传到GitHub上新建的仓库中去 踩过的坑: 1.在git push时报错 error: RPC failed; curl 56 SSL read: error:000 ...

  8. github如何删除仓库中文件夹

    github项目中,经常大家更新.添加都非常熟悉,但是如果想要删掉一个文件夹,很多人就不知道怎么操作了. 网上查了一些方法,大部分都是删除仓库重新上传,这样肯定是不行的,首先不说任务量大,而且删除仓库 ...

  9. 把IDEA中新建的项目提交到Github仓库中

    对于一个没有进行任何版本控制设置的idea工程,使其支持Github,设置步骤如下 到Git官网下载Git的安装包,安装好以后,Git的安装目录下的文件结构应该如下图所示 在IDEA开发工具中配置Gi ...

随机推荐

  1. Memcached prepend 命令

    Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 . 语法: prepend 命令的基本语法格式如下: prepend key flags e ...

  2. Python模块学习之解决selenium的“can't access dead object”错误

    问题描述 在python执行过程中,提示selenium.common.exceptions.WebDriverException: Message: TypeError: can't access ...

  3. http & https & http2.0

    一.http状态码 1xx(信息性状态码,接受的请求正在处理) 2xx(成功状态码,请求正常处理完毕)200 OK204 No Content:请求成功但没有资源返回206 Partial Conte ...

  4. 如何选择正确的angular2学习曲线?

    参考: https://www.zhihu.com/question/50800464/answer/122921043 https://www.zhihu.com/question/48670501 ...

  5. tarball安装GnuPG (gpg) 2.2.10

    https://www.gnupg.org/download/ mac 方式一:推荐 mac $ brew install gpg pinentry pinentry-mac $ echo " ...

  6. 重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系

    重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系 Innodb中的事务隔离级别和锁的关系 前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁 ...

  7. Matlab 一些函数

    max(A,[],dim):dim取1或2.dim取1时,该函数和max(A)完全相同:dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值.

  8. nyoj——113 getline

    字符串替换 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 编写一个程序实现将字符串中的所有"you"替换成"we"   输入 ...

  9. centos7&redhat 之 firewalld 详细介绍配置

    firewalld和iptables的关系 firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和iptables一 ...

  10. Day10 - Python异步IO、Pymysql、paramiko、

    IO多路复用: 参考博客:http://www.cnblogs.com/wupeiqi/p/6536518.html   socket客户端(爬虫): http://www.cnblogs.com/w ...