【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。

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

相关推荐
阳墨余13 分钟前
Git 同时管理 Gitee 和 GitHub 的 SSH 配置实战
git·gitee·github
fengyehongWorld8 小时前
Git 认证凭据管理
git
暮云星影17 小时前
git版本发布
git·gitee·github·gitea
乌夷17 小时前
Git Flow 分支模型
git
独隅18 小时前
VS Code Git 工作树多分支并行开发实战评测
git
暮云星影1 天前
git仓库分支管理
git·gitee·github·gitea
互联网中的一颗神经元2 天前
ZZ — Git 速查表
大数据·git·elasticsearch
早安试言2 天前
git使用
git
燐妤2 天前
梦绘片场 ProjectDream故事总纲场景剧本篇:从项目到成片的 AI 漫剧工作台
人工智能·git·ai·项目开发
JackieDYH2 天前
Git 与 GitHub 新电脑配置指南(从零开始)
git·github·工具·使用教程