跳至主要内容

关于分支

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

关于分支

分支允许您更改项目而不会影响原始仓库(也称为“上游”仓库)。创建分支后,您可以从上游仓库获取更新以保持分支最新,并可以使用拉取请求从您的分支向上游仓库提出更改。分支可以存在于个人帐户或组织中。

在 GitHub 上查看分支仓库时,上游仓库会显示在分支名称下方。

Screenshot of a repository's page on GitHub. Below the name of the repository, "mona/docs", the text "forked from github/docs" is outlined in orange.

在开源项目中,分支通常用于在将更改合并到上游仓库之前迭代想法或更改。如果您将公共仓库分支到您的个人帐户,进行更改,然后打开拉取请求以建议您对上游仓库的更改,您可以授予任何对上游仓库具有推送访问权限的人员权限来推送更改到您的拉取请求分支(包括删除分支)。这通过允许仓库维护人员从用户拥有的分支在合并之前在本地向您的拉取请求分支提交更改或运行测试来加快协作速度。您不能授予组织拥有的分支推送权限。有关更多信息,请参阅“允许对从分支创建的拉取请求分支进行更改”。

删除分支不会删除原始上游仓库。推送到分支的代码将从上游可见,但更改不会对上游分支产生任何直接影响。例如,您可以在分支上添加协作者、重命名文件或生成 GitHub Pages,而不会影响上游分支。分支删除后,您无法恢复分支。有关更多信息,请参阅“恢复已删除的仓库”。如果您删除私有仓库,则会删除该仓库的所有分支。

您可以在仓库的分支页面上查看、排序和筛选仓库的分支。有关更多信息,请参阅“了解仓库之间的连接”。

关于创建分支

您可以将任何公共仓库分支到您的个人帐户或您有权创建仓库的组织。如果您有权访问私有仓库并且所有者允许分支,您可以将仓库分支到您的个人帐户或您有权创建仓库的 GitHub 团队组织。您不能使用 GitHub 免费版将私有仓库分支到组织。有关 GitHub 团队和 GitHub 免费版的更多信息,请参阅“GitHub 的计划”。

有关创建分支的说明,请参阅“创建分支”。有关何时可以创建分支以及分支的权限和可见性设置的更多信息,请参阅“关于分支的权限和可见性”。

提示

您可以使用 GitHub Desktop 创建分支。有关更多信息,请参阅“从 GitHub Desktop 克隆和创建分支仓库”。

创建分支与复制仓库

如果您想根据现有仓库的内容创建新仓库,但不希望将来将更改合并到上游,您可以复制仓库,或者如果仓库是模板,您可以使用该仓库作为模板。更多信息,请参阅“复制仓库”和“从模板创建仓库”。

创建仓库分叉类似于复制仓库,但存在以下区别。

  • 推送到分叉的代码对分叉网络中的所有仓库可见,即使该分叉已删除。
  • 您可以使用拉取请求来建议将您的分叉中的更改提交到上游仓库。
  • 您可以通过将您的分叉与上游仓库同步,将更改从上游仓库引入您的分叉。
  • 分叉拥有自己的成员、分支、标签、标签、策略、问题、拉取请求、讨论、操作、项目和 Wiki。
  • 分叉继承其上游仓库的限制。例如,如果上游仓库属于使用 GitHub 免费计划的组织,则无法向下传递分支保护规则。

进一步阅读