请教:如果 forked github 上一个公开的项目,原项目删除了,那么 forked 的项目是不是也跟着一直删除?

2015-08-24 09:33:31 +08:00
 scylla
RT ,查看帮助后,答案是不会被删除的

https://help.github.com/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility/

那么问题来了,新的这个 parent, 如果当时 fork 的时候,是旧的版本,那原项目后面的提交是不是也没了?比如:

原项目当前版本是 5 , fork 一个子项目 fork1 (是众多 fork 之一)。
过一段时间后,原项目提交了很多个新的版本,但是 fork1 并未跟着一起更新,
原项目到版本 30 后,作者把原项目删除了
github 会不会选择 folk1 作为新的 parent? 如果是,那原项目在版本 5 后提交的那些修改是不是没了?
12979 次点击
所在节点    GitHub
10 条回复
cxe2v
2015-08-24 09:34:56 +08:00
我的理解是, fork 就是开了一个分支, master 的修改跟 fork 是没关系的
gDD
2015-08-24 09:40:40 +08:00
最后一个问题,会的,假如有一个项目 M ,它有 N 个 fork ,当 M 删除之后, GitHub 会在这 N 的 fork 中选择一个作为 parent 。

实例:
https://twitter.com/gaomd/status/635066231607848960

https://twitter.com/gaomd/status/635063836534398976
https://twitter.com/gaomd/status/635064702016450560
https://twitter.com/gaomd/status/635067220033302528
ChiangDi
2015-08-24 09:40:45 +08:00
你试试就知道了
gDD
2015-08-24 09:45:03 +08:00
「 github 会不会选择 folk1 作为新的 parent?」:会的
「如果是,那原项目在版本 5 后提交的那些修改是不是没了?」:是的

再回答前一个问题,删除 parent repo 会不会连带删除 fork :

https://twitter.com/gaomd/status/635061933478146048

> 在 GitHub 里:一个公开项目要转为私有,会丢失 stars 和 watches ,所有 forks 都会保留并与之脱离关系;一个公开项目要删除,所有 forks 也会被保留下来。

https://twitter.com/gaomd/status/635068087423729664

> 与之反观的是 Private Repository , fork 它以后也是 private 的,且不需要 subscription ,删除它会连带删除所有 forks 。
adrianzhang
2015-08-24 10:18:35 +08:00
仓库和分支,不要弄混概念。 fork 是对源 repo 的 clone ,如果你 clone 了一个 repo ,那么你本地做的任何 commit 都影响不了 origin ,除非做 push pull 。
与 clone 一个仓库不同的是:如果你 fork 别人的项目,不经过别人允许就 push ,那会让原项目管理起来很累,所以 GitHub 的设计为只允许发 pull request ,由源项目决定是否 pull 你的 commit 过来合并。
至于源项目删除,看是删除 repo 还是只删除某个 commit version 或者只删除某个 branch ,只要不删除 repo ,那么你 fork 出来,对方做了修改后删除某个 commit 或 branch ,你 pull request 发出后,对方如果愿意 pull 你的 repo 相应的 branch ,那源项目不受影响。

V2EX 里发现好多关于 Git 的问题,都是因为对 Git 工作机制不理解。请参考
http://v2ex.com/t/214595#reply10
Tink
2015-08-24 10:26:33 +08:00
fork.....复刻
goodbest
2015-08-24 10:35:21 +08:00
@gDD
@cxe2v
@adrianzhang

我知道有一个例外:如果源 repo 违反了 DCMA 等,那么可能 forked repo 也会同时被删。
goodbest
2015-08-24 10:36:14 +08:00
@goodbest 当然这个删除是 github 来删的,不是原作者删的。
buddha
2015-08-24 11:47:13 +08:00
谁有 fork 过喝茶大神的最新版本 我想 fork 一个
raincious
2015-08-24 12:25:17 +08:00
@buddha 没啥可担心的。除了 Python 和 iOS 的客户端没有了,其他的依然在正常 commit 。

而且就算 Python 和 iOS 的官方仓库没有了,还有很多 fork ,所有人都可以是主仓。

退一步说,要是实在担心,还找个 fork 最高的 clone 下来保存到 Bitbucket 上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/215470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX