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

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

相关推荐
Lw老王要学习1 分钟前
Linux架构篇、第五章git2.49.0部署与使用
linux·运维·git·云计算·it
爱学习的张哥11 分钟前
专栏项目框架介绍
git·fpga开发·udp·ddr·gt收发器
Aric_Jones3 小时前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Sapphire~9 小时前
odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件
ide·git·pycharm
Willis_m13 小时前
Linux 服务器用 SSH 拉取多个 Git 工程
linux·服务器·git·ssh
1candobetter13 小时前
git如何将本地 dev 分支与远程 dev 分支同步
git
此方konata13 小时前
git常用命令
git
yuanbenshidiaos21 小时前
讲讲git 和svn
git·svn
刃神太酷啦1 天前
类和对象(1)--《Hello C++ Wrold!》(3)--(C/C++)
java·c语言·c++·git·算法·leetcode·github
s9123601011 天前
Git 用法总结
git