【问题标题】:If I fork someone else's private Github repo into my account, is it going to appear in my account as a public repo?如果我将其他人的私人 Github 存储库分叉到我的帐户中,它会作为公共存储库出现在我的帐户中吗?
【发布时间】:2012-03-26 15:17:32
【问题描述】:

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

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

【问题讨论】:

    标签: git github repository private


    【解决方案1】:

    没有。你可以分叉它,它仍然是私有的。

    私人合作者可以分叉您添加的任何私人仓库 他们没有自己的付费计划。他们的叉子不算数 你的私有仓库配额。

    https://github.com/plans

    【讨论】:

    • 是的,我读过。我很确定这是一个愚蠢的问题,但你能详细说明一下最后一句话吗?
    • 它仍然是私有的,只是检查了我自己:)
    • 后续问题:如果您撤销对主账户回购的访问权......它会删除您的分叉吗?或者至少撤销对您自己的分叉的访问权限?
    • @tslater 当你 fork 一个 repo 时,你是所有者,所以即使一个 fork 的父 repo 被删除,你的 fork 将保持不变。此外,由于您是分叉的管理员,您仍然可以添加协作者(他们也可以分叉),将所有权转让给任何用户或组织(组织可以添加管理员和只读用户,他们也可以分叉),甚至只需将回购公开。最后,利用这些事实故意欺骗 GitHub 为您提供“免费”的私有存储库违反了他们的 TOS,如果您尝试这样做,他们可能会删除您的帐户。
    • @namuol 正如 Planet Bips 的回答中所解释的那样,这已经发生了变化。现在,当在私有存储库中删除主存储库时,会删除分叉。除此之外,如果合作者失去对私人仓库的访问权限,分叉将被删除。 github.com/blog/…
    【解决方案2】:

    当您撤销主分支(主仓库)上成员的访问权限时,它也会拉出分叉的仓库。因此,如果您将成员添加到团队,并且他们从主存储库分叉,请始终确保您已经合并了他们的更改,或者在将他们从团队中删除之前,您拥有他们的更改副本,因为分叉存储库的成员会被删除当他从团队中移除并且您无法获取他的更改时(如果您只关心这些)。

    【讨论】:

    【解决方案3】:

    这是 GitHub 的答案:

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

    删除私有仓库

    当您删除私有仓库时,它的所有私有复刻也会被删除。

    【讨论】:

    • 嗯,这很愚蠢。我认为分叉本质上是其他人帐户的硬拷贝。那么如何让它永久化呢?下载它然后作为新项目重新上传?
    • 是的@Jon Grah,你会下载并重新上传到硬拷贝,通常软件有一个交接,原作者停止维护并祝福分叉项目的人。如果是这种情况,他们将归档他们的项目并且分叉将持续存在。需要注意的另一件事是,如果 repo 被删除但您有本地副本。您的 fork 将在 github 上被删除,但您仍然可以创建一个 repo 添加远程并推送项目。需要分叉的原因之一是,如果发生更改,您可以使用 fork 或 fork with original 更新原始版本。
    【解决方案4】:

    真正的答案。

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

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

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

    只有主服务器可以从私有更改为公共,反之亦然。

    这样做会断开所有分叉,并使它们成为新的主人,都保留它们现有的类型。

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

    TL:DR;如果存储库是公开的,则您的分叉是公开的,并且永远存在。如果原始文件是私有的,那么您的分叉是私有的,并且如果 master 访问或您不再具有访问权限,您的分叉就会消失,并且您必须反复克隆和更新以确保保留它。

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

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 2020-01-21
      • 1970-01-01
      • 2012-04-21
      • 2015-09-24
      • 2014-11-30
      • 2011-04-16
      • 2021-04-06
      • 2016-02-02
      相关资源
      最近更新 更多