Fork and Branch Git 工作流程
Fork 和分支工作流程¶
在这种工作流程类型中,贡献者将主存储库分叉到他们自己的 GitHub 帐户,为他们的工作创建功能分支,然后通过来自这些分支的拉取请求提交贡献。
此宝石介绍了如何设置本地存储库以贡献到 GitHub 项目。它从最初的项目分叉、设置本地和远程存储库、提交更改以及创建拉取请求 (PR) 来提交您的贡献开始。
先决条件¶
- 一个 GitHub 帐户。
git
和GitHub CLI (gh)
安装在您的系统上。- GitHub 上该项目的个人 fork。
步骤¶
- 如果它不存在,请使用 gh 工具创建项目的 fork。键入
gh repo fork rocky-linux/documentation --clone=true --remote=true
此 gh repo fork 命令中使用的选项是:- --clone=true
:将分叉的存储库克隆到您的本地机器。- --remote=true
:将原始存储库添加为远程存储库,允许您同步未来的更新。
- 导航到本地存储库目录。键入
cd documentation
- 验证所有相关的远程存储库是否已在您的本地存储库中正确配置,键入
git remote -vv
- 从上游远程获取最新更改
git fetch upstream
- 创建并检出名为 your-feature-branch 的新功能分支
git checkout -b your-feature-branch
- 进行更改、添加新文件并将更改提交到您的本地存储库
git add .
git commit -m "Your commit message"
- 与名为
upstream
的远程存储库的主分支同步
git pull upstream main
- 将更改推送到您的 Fork**
git push origin your-feature-branch
- 最后,使用
gh
CLI 应用程序创建拉取请求 (PR)
gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
此 gh pr create 命令中使用的选项是
--base
main:指定将合并更改的上游存储库中的基本分支。--head
your-feature-branch:指示包含更改的 fork 中的头分支。--title
"Your PR Title":为拉取请求设置标题。--body
"Description of your changes":在拉取请求中提供更改的详细描述。
结论¶
Fork 和分支工作流程是另一种常见的协作技术。其中涉及的主要步骤如下
- 分叉存储库:在您的 GitHub 帐户上创建项目的存储库的个人副本。
- 克隆 Fork:将您的 fork 克隆到您的本地机器以进行开发工作。
- 设置上游远程:为了及时了解它的更改,请将原始项目存储库添加为“上游”远程存储库。
- 创建功能分支:从更新的主分支为每个新功能或修复创建新的分支。分支名称应描述功能或修复。
- 提交更改:进行更改并使用清晰简洁的提交消息提交它们。
- 与上游同步:定期将您的 fork 和功能分支与上游主分支同步,以合并新的更改并减少合并冲突。
- 创建拉取请求 (PR):将您的功能分支推送到 GitHub 上的 fork,并针对主项目打开 PR。您的 PR 应清楚地描述更改并链接到任何相关的 issue。
- 回复反馈:在 PR 合并或关闭之前,就审查反馈进行协作。
优点
- 将开发工作隔离到特定分支,保持主分支干净。
- 它使审查和集成更改变得更容易。
- 降低了与主项目不断变化的代码库发生冲突的风险。
作者:Wale Soyinka
贡献者:Ganna Zhyrnova