当前位置: 首页 > news >正文

【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 克隆到本地机器:

git clone https://github.com/your-account/project.git
cd project

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

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

git remote add upstream https://github.com/original-owner/project.git

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

git remote -v

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

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 是最新的,避免冲突。

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

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


5. 创建新分支进行开发

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

git checkout -b feature/new-feature

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

git add <file>
git commit -m "Add new feature"

6. 推送分支到你的 Fork

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

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 提出评论或请求修改。
  • 如果需要修改,可以在你的分支上继续开发并推送新的更改:
    git add <file>
    git commit -m "Fix issues based on feedback"
    git push origin feature/new-feature
    
  • 新的提交会自动更新到你的 PR 中。

9. PR 被合并后

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

删除本地分支:
git branch -d feature/new-feature
删除远程分支:
git push origin --delete feature/new-feature

10. 同步你的 Fork

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

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。

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

http://www.xdnf.cn/news/85375.html

相关文章:

  • 《MySQL 核心技能:SQL 查询与数据库概述》
  • CentOS笔记本合上盖子不休眠
  • WeakSet:JavaScript 中容易被忽视的“弱集合”
  • 2025年4月22日第一轮
  • 本地部署DeepSeek-R1模型接入PyCharm
  • Java常用正则表达式及使用方法
  • 【屠龙勇士】BIT睿信书院屠龙勇士心得分享
  • Buffer of Thoughts: Thought-Augmented Reasoningwith Large Language Models
  • 第八天 AI开发:NavMesh导航系统 对话系统:使用ScriptableObject存储对话数据 存档系统:JSON序列化保存数据
  • 在Windows上安装Git
  • UDP协议理解
  • Linux 系统中使用 OpenSSL 生成适用于 IIS 的证书
  • L2-2、示范教学与角色扮演:激发模型“模仿力“与“人格“
  • Selenium 在爬取过程中,网络响应被退出的解决方案
  • 机器学习第二篇 多变量线性回归
  • CF912E
  • PR网表出现assign该如何解决
  • 三网通电玩城平台系统结构与源码工程详解(一):系统概述与前端搭建
  • 第四届商师校赛 web 1
  • 【Git】Git的远程分支已删除,为何本地还能显示?
  • VSCode 用于JAVA开发的环境配置,JDK为1.8版本时的配置
  • 交易所开发:构建高效数字交易枢纽
  • Spring 事务实现原理,Spring 的 ACID是如何实现的?如果让你用 JDBC 实现事务怎么实现?
  • React.cloneElement的用法详解
  • go 编译的 windows 进程(exe)以管理员权限启动(UAC)
  • Spark-Streaming简介及核心编程
  • 详解Windows(六)——文件系统
  • 电脑安装adb并且连接华为手机mate60pro后查看设备
  • 服务器操作系统时间同步失败的原因及修复
  • Windows:异常安全的内核对象