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. javascript深入浅出

    第一章 数据类型 1,六种数据类型:原始类型(number,string,boolean,null,undefined) + object对象(Function Array Date) 2,隐式转换: ...

  2. 新男人八题---AStringGame

    终于完成进度男人1/8,为了这题学了sam= = 题意先有一个串,n个子串,两个人轮流每次在子串上加字符,要求加完后还是原串的子串,最后不能加的就是输者,求赢的人 解法:sam之后在构造的状态图上跑s ...

  3. Java对象的初始化顺序

    new一个对象时,该对象的初始化顺序如下 : 父类中的静态成员变量 父类中的静态代码块 子类中的静态成员变量 子类中的静态代码块 父类中的非静态变量 父类中的非静态代码块 父类构造函数 子类中的非静态 ...

  4. Kafka、RabbitMQ、RocketMQ、ActiveMQ 17 个方面综合对比

    本文将从,Kafka.RabbitMQ.ZeroMQ.RocketMQ.ActiveMQ 17 个方面综合对比作为消息队列使用时的差异.(欢迎加入Java程序员群:630441304,一起学习交流会) ...

  5. Redis原理与实践总结

    Redis原理与实践总结 本文主要对Redis的设计和实现原理做了一个介绍很总结,有些东西我也介绍的不是很详细准确,尽量在自己的理解范围内把一些知识点和关键性技术做一个描述.如有错误,还望见谅,欢迎指 ...

  6. jQuery-瀑布流的取巧做法分享

      分析:瀑布流,做法有2种 (1)绝对定位方案:每个单元格设置为绝对定位,通过计算,分别设置 top , left 即可实现 (2)浮动方案:弄N列布局(浮动),然后图片数据,按顺序依次插入,如N为 ...

  7. 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...

  8. 关于Mac上使用ideviceinstaller操作iPhoneXR等24位UDID设备报“ERROR: Invalid UDID specified”解决办法

    最近新申请了一台iPhone XR, 测试时发现使用ideviceinstaller命令老是报错: Jackeys-MacBook-Pro:~ jackey$ ideviceinstaller -u ...

  9. laravel中composer镜像服务的方式

    系统全局配置:即将配置信息添加到Composer的全局配置文件config.json中. 单个项目配置:将配置信息添加到某个项目的composer.json文件中. 例1:修改Composer的全局配 ...

  10. hdu2426

    题解: KM模板题 如果n>m,输出-1 如果a[match[i]][i]==-1输出-1 负的边不用考虑 初始都赋值为-1 代码: #include<cstdio> #includ ...