如何pull request合作开发
第一种(简单)
第一种方法指令少简单易懂
- 首先Fork你想要提pr的仓库,这个时候你的账户就会多一个被Fork仓库的副本

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

-
在你Fork的本地仓库创建分支,分支名称按照开源项目的规定
git checkout -b 分支名称快捷创建分支并进入分支
附:
git checkout 分支名切换分支 -
修改代码,修改bug,添加功能…
-
提交仓库
git add .git commit -m "提交描述性文本"git push -u origin 分支名称将本地仓库提交到远程仓库的 ”分支名称“ 分支(会自动创建)
-
此时你的仓库会提示有新的推送,并且多了一个新的分支,点击 pull request

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

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

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

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

- 此时你Fork的仓库就是最新的了
- 当然,你本地电脑上的还是老的仓库,这时你就可以
git pull将远程同名分支的最新代码拉取下来,注意如果有冲突文件,它会自动标识
第二种
第二种方法主要解决原开源仓库和本地不同的问题,建立了主repo的远程源
有点小饶,但是能够理解
紧接着第一种方法的第2步,克隆之后:
-
git remote -v可以看到有两个源,并且指向的是你Fork的仓库 -
其实第二种的操作就是将源项目的源地址也绑定到本地仓库上
-
执行
git remote add upstream URL- upstream 自定义名字,类似于origin
- URL 源项目的地址 也就是被你Fork的仓库的地址(可不是你仓库里的地址)
- 此时
git remote -v可以看到有两个绑定源

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

-
此时你的demo2分支已经是最新的代码(如果你没有创建分支,直接在mian中拉取最新代码,我希望你后续的操作能在一个新分支中进行,也就是接着第一种方法的第3步创建进入分支)
-
编写代码,修改bug…
-
提交仓库
git add .git commit -m "提交描述性文本"git push -u origin 分支名称将本地仓库提交到远程仓库的 ”分支名称“ 分支(会自动创建)
-
此时你的仓库会提示有新的推送,并且多了一个新的分支,点击 pull request

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

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

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

错误汇总
本地仓库与远程不同步

执行git pull拉取远程同名分支最新代码到本地
合并分支描述信息

可以不管(直接下面 3 , 4 步),如果要输入解释的话就需要:
- 按键盘字母 i 进入insert模式;
- 修改最上面那行黄色合并信息,可以不修改 // 黄色内容为默认的合并信息;
- 按键盘左上角"Esc";
- 输入":wq",进行修改后保存退出,然后按回车键即可
本文详细介绍了使用Git进行合作开发的两种方式,包括Fork仓库、创建分支、提交代码、发起Pull Request以及处理代码同步。通过这两种方法,开发者可以有效地参与开源项目,贡献代码,并确保与主仓库保持同步。
1526





