Skip to main content

关于分叉

使用分支在自己的存储库副本中进行更改,并将它们建议回原始项目。

派生是你拥有的存储库副本,它与原始存储库相连,而该原始存储库称为上游存储库。 分叉允许你在自己的空间中进行更改,而不会影响上游项目,并通过拉取请求来提出这些更改。

为何使用分叉

分叉使你能够独立地工作,同时与原始项目保持连接。 需要以下情况时,分叉非常有用:

  • 为您没有写入权限的项目做贡献。
  • 在不影响上游仓库的情况下尝试更改。
  • 探索以后可能变得独立的新方向。
  • 将自己的分支、问题和拉取请求与上游项目分开。

派生和分支

分叉和分支都为你提供了一个处理更改的位置,但它们的工作方式不同:

  • 分支位于单个存储库中。 当你在共享仓库中协作并且拥有写入权限时,请使用分支。
  • 复刻是一个独立的存储库,拥有自己的设置、权限和协作空间。 当需要独立于上游存储库或没有写入访问权限时,请使用分支。

由于分支是其自己的存储库,因此它提供比分支更多的独立性。 由于它始终连接到上游存储库,因此更改仍可以通过拉取请求流回。

分支如何连接到上游存储库

分支将其历史记录与上游存储库共享,因此两个分支可以通过拉取请求交换更改。 分支还具有自己的可见性和权限,这些可见性和权限绑定到上游存储库及其所属的存储库网络。

对于大多数贡献者来说,这种关联通常是在后台进行的:你复刻一个仓库,在自己的副本中进行修改,并在准备好提出更改时发起拉取请求。

延伸阅读