Skip to main content

关于分叉

分支是一个新存储库,与原“上游”存储库共享代码和可见性设置。

关于分叉

通过分支,可更改项目,而不会影响原始存储库(也称为“上游”存储库)。 创建存储库分支后,可以从上游存储库获取更新以使分支保持最新状态,并且可以使用拉取请求将更改建议从分支提交到上游存储库。 分支可存在于个人帐户或组织中。

查看 GitHub Enterprise Server 上的分支存储库时,上游存储库会显示在分支名称下方。

GitHub 上存储库页面的屏幕截图。 在存储库名称“mona/docs”下面,文本“从 github/docs 创建分支”以橙色标出。

在开源项目中,分支常用于迭代想法或更改,然后将其合并到上游存储库。 如果你将一个公共存储库分支到你的个人帐户,进行更改,然后打开一个拉取请求,向上游存储库提出你的更改,便可允许对上游存储库具有推送权限的任何人将更改推送到拉取请求分支(包括删除分支)。 这可加速协作,让存储库维护员在合并之前于本地从用户拥有的分叉对拉取请求分支进行提交或运行测试。 不可向组织拥有的复刻授予推送权限。 有关详细信息,请参阅“允许更改从复刻创建的拉取请求分支”。

删除复刻不会删除原始上游仓库。 推送到分支的代码将从上游可见,但更改不会对上游分支产生任何直接影响。 例如,可以在分支上添加协作者、重命名文件或生成 GitHub Pages,而不会影响上游分支。 如果删除专用存储库,则会删除该存储库的所有分支。

可以在存储库的“分支”页上查看、筛选存储库的分支并对其排序。 有关详细信息,请参阅“了解仓库之间的连接”。

关于创建分支

如果存储库和企业策略设置允许创建分支,则可以将专用或内部存储库分支到个人帐户或分支到你拥有存储库创建权限的 GitHub 上的组织。 通常,可以将任何公共存储库分支到个人帐户或分支到你有权创建存储库的组织。

有关创建存储库分支的说明,请参阅“为存储库创建分支”。 有关何时可以创建分支以及分支的权限和可见性设置的详细信息,请参阅“关于分支的权限和可见性”。

提示:您可以使用 GitHub Desktop 复刻仓库。 有关详细信息,请参阅“从 GitHub Desktop 克隆和复刻仓库”。

创建存储库分支与复制存储库

如果以后要从现有仓库的内容创建新仓库,但不想合并上游更改,您可以复制仓库 ,或者,如果该仓库是模板,您可以使用该仓库作为模板。 有关详细信息,请参阅“复制仓库”和“从模板创建仓库”。

创建存储库分支类似于复制存储库,但存在以下差异。

  • 推送到分支的代码对分支网络中的所有存储库可见,即使在删除分支之后也是如此。
  • 可以使用拉取请求将更改建议从分支提交到上游存储库。
  • 可以通过同步分支与上游存储库,将更改从上游存储库提交到本地分支。
  • 分支具有自己的成员、分支、标记、标签、策略、问题、拉取请求、讨论、操作、项目和 Wiki。
  • 分支继承其上游存储库的限制。 例如,如果上游存储库属于 GitHub Free 计划上的组织,则无法向下传递分支保护规则。

延伸阅读