从master/main克隆还是从fork克隆



我是git/GitHub的新手,正在尝试理解和模拟典型的工作流程,但遇到了相互冲突的建议。

FirstContributions存储库的指导方针建议,典型的工作流程应该是:

fork->克隆->编辑->提取请求

然而,针对初学者的另一个存储库的指南如下:

始终从主存储库进行克隆,并将您的fork添加为远程。

请帮助我了解每种方法的优点。我应该使用哪一个?

通常,您希望在本地存储库中使用原始存储库作为远程存储库。无论您是从主存储库克隆,然后将您的fork添加为远程,还是以其他方式添加,都无关紧要。

您希望原始存储库可用的原因是,当您将来进行更改时,您可以基于远程存储库的当前状态,而不是创建分支时的远程存储库状态。

如果使用官方ghCLI(可从https://github.com/cli/cli/releases/),这很简单:

  • git clone <original repository url>
  • cd working_directory
  • gh repo fork --remote

这将(a(在github上分叉存储库,然后(b(配置本地目录中的两个遥控器:

  • origin指向你的叉子,并且
  • upstream指向原始存储库

当您开始处理新的拉取请求时,首先更新上游存储库的状态:

git remote update upstream

然后在主要上游分支的基础上创建一个新分支:

git switch -c my_feature upstream/main

(上游主分支可能命名为mainmastertrunk,因此您的命令看起来可能略有不同(。

最新更新