跳至内容

Fork 和 Branch Git 工作流

Fork and Branch 工作流

在此工作流类型中,贡献者会 fork 主仓库到他们自己的 GitHub 账户,为他们的工作创建特性分支,然后通过从这些分支提交拉取请求来贡献内容。

本 Gemstone 将逐步演示如何设置本地仓库以贡献到 GitHub 项目。它从初始项目 fork、设置本地和远程仓库、提交更改,以及创建拉取请求 (PR) 来提交你的贡献开始。

先决条件

  • 一个 GitHub 账户。
  • 您的系统上安装了 gitGitHub CLI (gh)
  • 在 GitHub 上项目的个人 fork。

过程

  1. 如果尚未存在,请使用 gh 工具创建项目的 fork。输入
gh repo fork rocky-linux/documentation --clone=true --remote=true

gh repo fork 命令中使用的选项是:- --clone=true:将 fork 后的仓库克隆到您的本地机器。- --remote=true:将原始仓库添加为远程仓库,允许您同步未来的更新。

  1. 导航到本地仓库目录。输入
cd documentation
  1. 验证所有相关的远程仓库是否已在您的本地仓库中正确配置,输入
git remote -vv
  1. 从上游远程仓库拉取最新更改
git fetch upstream
  1. 创建并检出名为 your-feature-branch 的新特性分支
git checkout -b your-feature-branch
  1. 进行更改、添加新文件,并将您的更改提交到本地仓库
git add .
git commit -m "Your commit message"
  1. 与名为 upstream 的远程仓库的主分支同步
git pull upstream main
  1. 将更改推送到您的 Fork**
git push origin your-feature-branch
  1. 最后,使用 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 中包含更改的 head 分支。--title "Your PR Title":设置拉取请求的标题。--body "Description of your changes":提供拉取请求中更改的详细描述。

结论

Fork and Branch 工作流是另一种常见的协作技术。涉及的高级步骤包括:

  1. Fork 仓库:在您的 GitHub 账户上创建项目仓库的个人副本。
  2. 克隆 Fork:将您的 fork 克隆到本地机器以进行开发工作。
  3. 设置上游远程:为了与原始仓库的更改保持同步,将原始项目仓库添加为“上游”远程。
  4. 创建特性分支:为每个新特性或修复从更新的主分支创建一个新分支。分支名称应描述该特性或修复。
  5. 提交更改:进行更改并使用清晰简洁的提交消息提交它们。
  6. 与上游同步:定期将您的 fork 和特性分支与上游主分支同步,以合并新更改并减少合并冲突。
  7. 创建拉取请求 (PR):将您的特性分支推送到 GitHub 上的您的 fork,并针对主项目打开 PR。您的 PR 应清楚地描述更改并链接到任何相关问题。
  8. 响应反馈:协作处理评审反馈,直到 PR 被合并或关闭。

优势

  • 将开发工作隔离到特定分支,保持主分支整洁。
  • 它使得审查和集成更改更加容易。
  • 降低了与主项目不断发展的代码库发生冲突的风险。

作者:Wale Soyinka

贡献者:Ganna Zhyrnova