如何pull request合作开发

本文详细介绍了使用Git进行合作开发的两种方式,包括Fork仓库、创建分支、提交代码、发起Pull Request以及处理代码同步。通过这两种方法,开发者可以有效地参与开源项目,贡献代码,并确保与主仓库保持同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何pull request合作开发

第一种(简单)

第一种方法指令少简单易懂

  1. 首先Fork你想要提pr的仓库,这个时候你的账户就会多一个被Fork仓库的副本

image-20220923150258436

  1. 克隆你的副本仓库git clone git@github.com:Found-404/delet.git

image-20220923150525501

  1. 在你Fork的本地仓库创建分支,分支名称按照开源项目的规定

    • git checkout -b 分支名称 快捷创建分支并进入分支

    附:git checkout 分支名 切换分支

  2. 修改代码,修改bug,添加功能…

  3. 提交仓库

    • git add .
    • git commit -m "提交描述性文本"
    • git push -u origin 分支名称 将本地仓库提交到远程仓库的 ”分支名称“ 分支(会自动创建)
  4. 此时你的仓库会提示有新的推送,并且多了一个新的分支,点击 pull request

image-20220923151706793

  1. 选择提交的目标和合并者
    • 被合并的仓库地址以及分支(开源项目都有分支命名规范)
    • 要求合并的仓库地址和分支(肯定要选择你创建的新分支咯)
    • 注意:目标分支要明确

image-20220923151930458

  1. 填写标题和描述性文本,注意规范!

image-20220923152347108

  1. 提交pr,等待作者审核同意合并,同意之后会返回邮件

image-20220923153025410

  1. 如果作者合并了你提交的代码,那么说明你的代码是最新的。但是如果在你提交之前,又有一个人也提交了pr,导致原仓库和你Fork的仓库不同步,你就需要将原先仓库和本地仓库手动同步一下

image-20220923153706978

  1. 此时你Fork的仓库就是最新的了
  2. 当然,你本地电脑上的还是老的仓库,这时你就可以git pull将远程同名分支的最新代码拉取下来,注意如果有冲突文件,它会自动标识

第二种

第二种方法主要解决原开源仓库和本地不同的问题,建立了主repo的远程源

有点小饶,但是能够理解

紧接着第一种方法的第2步,克隆之后:

  1. git remote -v可以看到有两个源,并且指向的是你Fork的仓库

  2. 其实第二种的操作就是将源项目的源地址也绑定到本地仓库上

  3. 执行git remote add upstream URL

    • upstream 自定义名字,类似于origin
    • URL 源项目的地址 也就是被你Fork的仓库的地址(可不是你仓库里的地址)
    • 此时git remote -v可以看到有两个绑定源

image-20220923155956554

  1. 如果你想要同步原主仓库的更新,可以做如下操作将原仓库代码拉取下来并与本地代码进行合并:

    • git fetch upstream 可以看到原仓库有新的提交操作
    • git merge upstream/main 同步代码到本地, main代表源仓库main分支 (有问题见错误汇总)
    • 其实也可以直接执行git pull demo main:你当前的分支 或者 git pull demo main 简写
    • 注意:同步的代码是同步到本地仓库你执行代码分支上,也就是说,你在demo2分支执行命令,那么拉下来的代码是在demo2分支上,如果你切换回main分支,那么文件又会回到初始状态

    image-20220923163056444

  2. 此时你的demo2分支已经是最新的代码(如果你没有创建分支,直接在mian中拉取最新代码,我希望你后续的操作能在一个新分支中进行,也就是接着第一种方法的第3步创建进入分支)

  3. 编写代码,修改bug…

  4. 提交仓库

    • git add .
    • git commit -m "提交描述性文本"
    • git push -u origin 分支名称 将本地仓库提交到远程仓库的 ”分支名称“ 分支(会自动创建)
  5. 此时你的仓库会提示有新的推送,并且多了一个新的分支,点击 pull request

image-20220923151706793

  1. 选择提交的目标和合并者
    • 被合并的仓库地址以及分支(开源项目都有分支命名规范)
    • 要求合并的仓库地址和分支(肯定要选择你创建的新分支咯)
    • 注意:目标分支要明确

image-20220923151930458

  1. 填写标题和描述性文本,注意规范!

image-20220923152347108

  1. 提交pr,等待作者审核同意合并,同意之后会返回邮件

image-20220923153025410

错误汇总

本地仓库与远程不同步

image-20220923154711009

执行git pull拉取远程同名分支最新代码到本地

合并分支描述信息

image-20220923163503529

可以不管(直接下面 3 , 4 步),如果要输入解释的话就需要:

  1. 按键盘字母 i 进入insert模式;
  2. 修改最上面那行黄色合并信息,可以不修改 // 黄色内容为默认的合并信息;
  3. 按键盘左上角"Esc";
  4. 输入":wq",进行修改后保存退出,然后按回车键即可
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值