我是git/GitHub的新手,正在尝试理解和模拟典型的工作流程,但遇到了相互冲突的建议。
FirstContributions存储库的指导方针建议,典型的工作流程应该是:
fork->克隆->编辑->提取请求
然而,针对初学者的另一个存储库的指南如下:
始终从主存储库进行克隆,并将您的fork添加为远程。
请帮助我了解每种方法的优点。我应该使用哪一个?
通常,您希望在本地存储库中使用原始存储库作为远程存储库。无论您是从主存储库克隆,然后将您的fork添加为远程,还是以其他方式添加,都无关紧要。
您希望原始存储库可用的原因是,当您将来进行更改时,您可以基于远程存储库的当前状态,而不是创建分支时的远程存储库状态。
如果使用官方gh
CLI(可从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
(上游主分支可能命名为main
、master
或trunk
,因此您的命令看起来可能略有不同(。