【Git】Fork和并请求

当你在 GitHub 或其他代码托管平台上 Fork 了一个项目后,你可以基于你的 Fork 进行开发,并通过 Pull Request(PR) 的方式将你的更改提交给原始项目(也称为上游仓库)。以下是完整的流程和步骤:


1. Fork 一个项目

  1. 在 GitHub 上找到你感兴趣的项目。
  2. 点击页面右上角的 "Fork" 按钮。这会在你的账户下创建该项目的副本。

例如:

  • 原始项目:https://github.com/original-owner/project
  • 你的 Fork:https://github.com/your-account/project

2. 克隆你的 Fork 到本地

使用 git clone 将你的 Fork 克隆到本地机器:

bash 复制代码
git clone https://github.com/your-account/project.git
cd project

3. 添加原始仓库为远程仓库

为了让本地仓库能够跟踪原始仓库的更新,你需要添加原始仓库作为远程仓库(通常命名为 upstream):

bash 复制代码
git remote add upstream https://github.com/original-owner/project.git

验证远程仓库是否添加成功:

bash 复制代码
git remote -v

你应该会看到类似以下输出:

plaintext 复制代码
origin    https://github.com/your-account/project.git (fetch)
origin    https://github.com/your-account/project.git (push)
upstream  https://github.com/original-owner/project.git (fetch)
upstream  https://github.com/original-owner/project.git (push)

4. 同步你的 Fork 与原始仓库

在开始开发之前,确保你的 Fork 是最新的,避免冲突。

从原始仓库拉取最新更改
bash 复制代码
git fetch upstream
更新你的主分支(如 mainmaster
bash 复制代码
git checkout main
git merge upstream/main

这会将原始仓库的最新更改合并到你的 main 分支中。


5. 创建新分支进行开发

为了保持代码库的整洁,建议为每个功能或修复创建一个新的分支:

bash 复制代码
git checkout -b feature/new-feature

在这个分支上进行开发并提交更改:

bash 复制代码
git add <file>
git commit -m "Add new feature"

6. 推送分支到你的 Fork

完成开发后,将你的分支推送到你的 Fork:

bash 复制代码
git push origin feature/new-feature

7. 提交 Pull Request(PR)

  1. 打开你的 Fork 页面(例如:https://github.com/your-account/project)。
  2. GitHub 通常会提示你创建一个 Pull Request,或者你可以手动点击 "Compare & pull request" 按钮。
  3. 在 PR 页面中:
    • 描述你的更改内容。
    • 确保目标分支是原始项目的分支(通常是 mainmaster)。
    • 确保源分支是你的分支(如 feature/new-feature)。
  4. 点击 "Create pull request"

8. 处理反馈

  • 原始项目的维护者可能会对你的 PR 提出评论或请求修改。

  • 如果需要修改,可以在你的分支上继续开发并推送新的更改:

    bash 复制代码
    git add <file>
    git commit -m "Fix issues based on feedback"
    git push origin feature/new-feature
  • 新的提交会自动更新到你的 PR 中。


9. PR 被合并后

一旦你的 PR 被原始项目的维护者合并,你可以删除你的分支以保持仓库整洁:

删除本地分支:
bash 复制代码
git branch -d feature/new-feature
删除远程分支:
bash 复制代码
git push origin --delete feature/new-feature

10. 同步你的 Fork

当你的 PR 被合并后,原始仓库的 main 分支会更新。为了让自己的 Fork 保持最新,你可以再次同步:

bash 复制代码
git fetch upstream
git checkout main
git merge upstream/main
git push origin main

总结

以下是 Fork 提交合并的完整流程:

  1. Fork 原始项目。
  2. 克隆你的 Fork 到本地。
  3. 添加原始仓库为远程仓库(upstream)。
  4. 同步你的 Fork 和原始仓库。
  5. 创建新分支进行开发。
  6. 推送分支到你的 Fork。
  7. 提交 Pull Request 给原始项目。
  8. 根据反馈修改并更新 PR。
  9. PR 被合并后,清理分支并同步你的 Fork。

通过这些步骤,你可以顺利地为开源项目贡献代码! 😊

相关推荐
午后书香28 分钟前
入职前你需要知道的git操作大指南
前端·git·gitlab
qziovv1 小时前
Git ——提交至github,Vercel拉取,更新不了项目的问题解决
git
无妄无望1 小时前
Git,本地上传项目到github
git·github
郁大锤3 小时前
Windows 下 Git 入门指南:从安装、配置 SSH 到加速 GitHub 下载
windows·git·ssh
Emma歌小白3 小时前
gitee同步版本合并冲突
git
ba_pi3 小时前
Git分支管理方案
git
兔子蟹子5 小时前
Git入门
git
Gazer_S6 小时前
【 Git 全局忽略文件完全指南:配置、规则与最佳实践】
git
-曾牛6 小时前
GitHub创建远程仓库
java·运维·git·学习·github·远程工作