因为同事不小心将公司核心代码上传至Github,并且还是public repo,本来及时删除就行,但万万没想到已经被人fork了。所以我,帮他收拾烂摊子,就也掌握了一项新的技能——Github项目被fork后如何删除

写此文的目的是想帮助以后万一有如此紧急需求的同僚们,按照此文的步骤来,就可以省去一些走弯路的时间。甚至如果并行的话,可以省去更多的时间……多找几个人来帮忙吧……

1. 私信/留言给fork的人

要知道一定是他本人删除最快!GitHub要走审核流程,少则三天,多则十天半个月,到底要多少个fork才能够?所以如果对方的邮箱是可见的,那么立马发送邮件。如果邮箱不可见,我的另一篇文章有写怎么找到对方的邮箱,但并不一定百分之百成功,还跟fork的人有关。
找不到邮箱就去留言,万一他上线看见了呢是吧!留下你的联系方式,对方应该会联系你。

但是对方不上线才是常态!留下联系信息后,立马接着走下面的步骤

2. 走官方渠道——DMCA takedown request

如果fork的人隐藏了自己的邮箱,那我们很难联系到他去删除项目。

Github给出了如何向他们提交删除fork的申请,以及格式要求是什么
Guide to Submitting a DMCA Takedown Notice
https://docs.github.com/en/github/site-policy/guide-to-submitting-a-dmca-takedown-notice
请务必详细看看,因为申请内容必须按照里面提的格式来。

如果英文不好(但是公司肯定有英文好的吧)请看一位小姐姐记录删除fork的帖子
https://www.sohu.com/a/162387345_684755
我当时是看了这篇帖子,但是实际操作以后发现按照她的写法来就很慢!

要想想,既然有一个sb干了这件事情,那就一定有千千万万个sb会做同样的事情。所以我们不妨去看看其他公司是怎么收拾烂摊子的!

这个网址
https://github.com/github/dmca/tree/master/2020/08
是github放出来他们处理过的dmca撤销fork的授理记录,比如我给的这个是2020年8月的记录。赫然发现里面有Baidu!还有啥说的,直接照抄就完了!

通篇读下来发现度娘的态度非常强硬,我们在你github上发现了两段代码,这代码的版权所有者是我,我现在命令你github 24小时之内给我删掉,并且把相关的账号封掉。

所以我意识到,也许企业写这个request的立场应该是:我不认识这个传上来的人是谁,我也不管这个代码怎么放上来的,我现在只说代码,我就是要把它删掉,把账号禁掉。

可是感觉态度毕竟太强硬了吼。这本来是我们自己传上去的感觉总是有点心虚,所以内容可以以本人的身份向github委婉地提出请求,但无论如何内容格式都请遵循dmca takedown的要求。

当然为了加快效率,我还是建议大家直接从已经通过的request中选取适合自己的文案,我也是后来才发现还有这么个东西,这肯定比自己写的要专业的多。

3. 提交DMCA takedown request

dmca takedown policy那个文档里有写,那个小姐姐的帖子里也有写,就是我们有两条渠道可以递交申请。
第一个是从GitHub Copyright claims form提交在线申请,另一个是发邮件申请至copyright@github.com。发邮件的话就必须要在附件的地方将邮件正文打印出来并手写签字再扫描。

无论哪种方式,请一定按照第一步中takedown notice的要求整理好所有需要的东西。

邮件顾名思义就是像baidu发的那些,写到正文里。
在线提交其实是一样的,只是他把每一部分都拆开来让你填写。所以前面准备好的话这时就可以直接复制粘贴了。别人在线提交的模版在授理记录里也能查到。

无论是邮箱提交还是在线提交,都会向你注册github的账号邮箱自动回复一封邮件,告诉你你的授理id(TIcket ID),以及如果你有什么新要补充的信息都以回复邮件的方式进行补充,不要再重复提交申请。听说邮箱的现在已经不授理了,而且notice其实里也写的很清楚邮件只是为了notify一下,还是必须要在线申请。

提交之后按理来说我们就只能坐着干着急了,但是人还能把自己憋死吗????你想干等你领导答应吗???

4. 继续寻找,不要放弃

国外人很多都会以真实姓名注册账号,并且n多个平台都是同一个名字。我当时就突发奇想提了一句,我说你们查查他在国内的一些平台会不会也叫这个名字,或者是这个名字再加点生日什么的组合体。
结果竟然真的让他们锁定了一个人!!!
接下里就有看他在什么地方留言会不会有留下自己的联系方式,或者能不能看到他的工作单位一类的(发动人脉),逼急了还可以以他的名字登陆,但是选择忘记密码,看看能不能猜出一点邮箱组成。

===================================================
经验就是这些啦,我们非常幸运的在提交申请之后的两天内联系到了两位朋友,一个是靠github留言(第一步),一个是疯狂在网上寻找他的蛛丝马迹(第四步)。对方都很快地就删除了repo。所以说,让GitHub去处理这件事情才是最慢的。当然我们马上邮件回复了Github说我们已经联系到当事人删除了repo,请GitHub不要将对方的账号封掉。

最后希望大家都能提高代码安全意识!!

祝好

Github项目被fork后如何删除相关推荐

  1. Git仓库(github/gialab)进行fork后如何与原仓库同步

    如果你提交的 pull request 未被接受且得到回复说:"重新fork",其实是你遇到一个问题: 在你 fork 之后, xiaolai 的仓库又更新了: 但 github ...

  2. c++win32项目 如何显示后再删除一个绘图_47个快捷键50个CAD技巧,助你神速绘图拒绝加班!...

    终于知道为什么别人用CAD总比我快了,原来他们早就掌握了这些实用的CAD技巧,还没看完我就默默地转了,总有用得到的时候. CAD常用命令 47个常用快捷键 1. 创建直线的快捷方式是L+空格 2. 创 ...

  3. c++win32项目 如何显示后再删除一个绘图_iMATLAB 绘图扩展函数系列 | 让你绘图更自由(进阶专辑开篇)!...

    本专辑参考了mathworks公司主页文件交换站的一些分享文件,遴选部分绘图扩展函数供初学者参考,仅用作学习资料传播,版权属于原作者,特此致谢. 如有不妥,请联系删除. 本专辑将持续更新,欢迎读者投稿 ...

  4. c++win32项目 如何显示后再删除一个绘图_CAD提高绘图效率的秘诀在这里

    致力于培养真正懂得做设计的优秀塑胶模具设计工程师,提供优质的学习服务--更多内容请微信搜索关注微信公众号:塑胶模具实用教程 文字镜像如何设置转动与不转动 A.在镜像前,输入MIRRTEXT指令 B.输 ...

  5. c++win32项目 如何显示后再删除一个绘图_CAD快速绘图,不可不知的50个经典技巧,看完不迷茫!...

    1.文字镜像如何设置转动与不转动? A.在镜像前,输入MIRRTEXT指令 B.输入新值0 代表不转动 :输入新值1代表转动 C.MIRRTEXT指令完成后,输入MI镜像指令就OK了 2.CAD的版本 ...

  6. c++win32项目 如何显示后再删除一个绘图_CAD 100个快捷键+20个实用绘图技巧

    CAD绘图快捷键命令: 1. 圆 <--> C 2. 点 <--> PO 3. 直线 <--> L 4. 圆弧 <--> A 5. 椭圆 <--& ...

  7. c++win32项目 如何显示后再删除一个绘图_【AC学习】当乐高遇上BIM(7):绘图中的数据展示...

    介绍 正如在之前文章中提到,我们可以将数据加入3D模型以创建建筑信息建模(BIM).这些数据被嵌入进了模型的不同位置,比如项目.场地.建筑.楼层(建筑楼层).空间.区域.组件/构件.类型和系统.我们会 ...

  8. Github进行fork后的仓库,如何与原仓库同步?

    背景 我们在 GitHub 上参与到某个开源项目的时候,通常有以下开发步骤. fork 一份原仓库到我们自己的仓库中, 在自己的仓库中切新的分支进行开发,开发完成之后,再推送到自己的仓库 在原仓库进行 ...

  9. GitHub/GitLab/Gitee中项目互拷贝后仍保留历史提交记录的方法

    GitHub.GitLab.Gitee等在同一个网站中执行复制或拷贝一个已有项目到一个新项目比较简单,因为它们在每一个项目上都有一个Fork按钮,直接点击此Fork按钮即可,Fork后的新项目会保留原 ...

最新文章

  1. php pdo 时间,php – 使用PDO执行时间记录查询 – 自动完成功能无效
  2. 面试两个月,我吐了(软件测试岗面试经验)
  3. [NOIP2012] 借教室
  4. 在koa中想要优雅的发送响应?看这就对了
  5. 全面理解Javascript闭包和闭包的几种写法及用途--转载自https://www.cnblogs.com/yunfeifei/p/4019504.html...
  6. MySql按字段分组取最大值记录
  7. Oracle原理: 归档方式和日志文件
  8. C# 未来新特性:静态委托和函数指针
  9. 一份关于机器学习中线性代数学习资源的汇总
  10. socket android用法,Android NDK中socket的用法以及注意事项分析
  11. [官方消息]优秀云大使推广经验分享合集
  12. mysql非阻塞通信协议_NIO 的非阻塞式网络通信
  13. web网页前端学习 案例一之制作网页表格
  14. 我的叔叔精通计算机英语翻译,人教小学英语精通版 三年级下册Unit3 课文翻译...
  15. VS2019项目自动包含bin或obj文件夹的问题
  16. html5图片弹性布局,HTML5 使用弹性框布局实现可选择和压缩的网格
  17. Pixelmator for Mac(强大的图像处理软件)
  18. 分享在实际项目中积累的硬件调试经验 - 调试方法,以及常见调试案例
  19. 发布了每日一文应用,每日一文,每天阅读,简单生活。每天精选一篇不同的文章,也可以随机阅读往日精选文章...
  20. 用Java爬虫爬取凤凰财经提供的沪深A股所有股票代号名称

热门文章

  1. 已解决:excel求平均值时出现div/0 如何处理
  2. TMC4671-LA完全集成伺服控制器电机驱动芯片带FOC控制
  3. Link/Cut Tree学习笔记
  4. 五大列级庄_1855列级庄分级
  5. Ubuntu Unable to locate package bulld-essential
  6. 环境变量的作用,为什么要设置环境变量?
  7. PL/SQL Developer中用dbms_output.put_line输出
  8. oracle变成大写快捷键,Oracle函数(把每个单词首个字母变为大写)
  9. 施工日志软件哪个好用_哪个单词记忆软件好用?推荐单词突击营软件
  10. 北京通州规划图全面汇总