如果我将其他人的私人Github回购分配到我的帐户中,它是否会作为公共回购出现在我的帐户中?

Ter*_*nce 246 git private github repository

有人让我访问他们在Github上的一个私人仓库.我想要做的是将该项目分成我自己的帐户,这样我就可以利用Github的拉取请求功能.

我只在Github上有一个基本帐户,所以我不能自己进行私人回购,但是如果我将其他人的私人回购分配到我的帐户中,它是否会公开显示在我的帐户中?

eba*_*axt 275

不,你可以分叉它,它仍然是私人的.

私人协作者可以在没有自己的付费计划的情况下将您添加的任何私有存储库分叉.他们的分叉不计入您的私人存储库配额.

https://github.com/plans

  • 后续问题:如果您取消对主帐户上的回购的访问权限...是否会删除您的分支?或者至少撤销对自己的fork的访问权限? (23认同)
  • @tslater当您分叉仓库时,您是所有者,因此即使删除了fork的父仓库,您的分叉也将保持不变.此外,由于您是分支的管理员,您仍然可以添加协作者(也可以分叉),将所有权转移到任何用户或组织(组织可以添加既可以分叉的管理员和只读用户),甚至只是让回购公开.最后,使用这些事实故意欺骗GitHub给你"免费"私人回购是违反他们的服务条款,他们可能会删除你的帐户,如果你试图这样做. (12认同)
  • @namuol根据Planet Bips的回答,这已经改变了.现在,在私有仓库中删除主存储库时,将删除forks.除此之外,如果协作者失去对私人仓库的访问权限,则会删除分叉.https://github.com/blog/2034-greater-control-over-forks-of-your-private-repositories (11认同)
  • 它仍然是私人的,只是检查一下自己:) (3认同)
  • 是的,我读过那个。我很确定这是一个愚蠢的问题,但你能详细说明最后一句话吗? (2认同)

小智 29

当您撤销主分支(主仓库)上的成员的访问权限时,它也会抽取分叉仓库.因此,如果您向团队添加成员,并且他们从主仓库中分叉,请始终确保您已将其更改合并,或者在从团队中删除更改之前获得其更改的副本,因为成员分叉repo会被删除当他被从队伍中移除并且你无法获得他的变化时(如果你只关心那些).

  • 现在这是真的:https://github.com/blog/2034-greater-control-over-forks-of-your-private-repositories (9认同)
  • 删除团队成员之间似乎存在差异(https://help.github.com/articles/what-happens-when-i-remove-a-member-from-a-team-in-my-organization)并删除协作者(https://help.github.com/articles/what-happens-when-i-remove-a-collaborator-from-my-private-repository).如果私人仓库是组织的一部分(删除货叉)或者不是(保存货叉),这似乎是不同的 (4认同)

小智 13

真正的答案。

存储库分为三种类型。私人的、公共的和内部的。内部帐户需要企业帐户,因此我们暂时忘记它们。:)

其中任何一个分叉都保留其类型。公共存储库的分叉是公共的,私有存储库的分叉是私有的。删除对私有存储库的访问权限会删除该人的分叉。

删除私有存储库会删除它的所有分支,这些分支也是私有的。如果您想保留副本,则必须自行克隆并发布。代码的许可证可能不允许这样做。删除 PUBLIC 存储库会使所有直接分叉成为新的主控。

只有master可以从私有更改为公共,反之亦然。

执行任一操作都会断开所有分叉,并使它们成为新的主控,所有分叉都保留其现有类型。

如果您希望删除您的私有存储库而不删除其他(私有)分叉,请先将其公开,这将使所有私有分叉成为私有主控,然后删除该存储库。

TL:博士;如果存储库是公共的,那么您的分叉也是公共的,并且永远保留。如果原始版本是私有的,那么您的分叉也是私有的,如果主版本或您不再具有访问权限,您的分叉就会消失,并且您将必须反复克隆和更新以确保保留它。

这有望回答有关分叉和删除的所有问题。:)


小智 8

这是GitHub的答案:

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

删除私有存储库

删除私有存储库时,也会删除其所有私有存储分区.

  • 好吧,这很愚蠢。我认为分叉本质上是其他人帐户的硬拷贝。那么如何让它永久化呢?下载它然后重新上传它作为一个新项目? (3认同)