热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何删除本地分支_如何在Github上提交第三个PR?

本文重点:在团队开发过程中,如何解决代码冲突问题产生冲突原因在多人协作开发工作中,多人同时对一个文件进行修改,在提交时&#x
本文重点:在团队开发过程中,如何解决代码冲突问题

产生冲突原因

  • 在多人协作开发工作中,多人同时对一个文件进行修改,在提交时,要解决冲突的问题。
  • 第一个操作者基本是可以正常提交的,而之后的开发者要执行pull(拉)和pull(推)操作时,就会报冲突异常。
  • 此时开发者,需要结合实际情况去解决冲突,有时候需要和其他开发者去讨论,手动解决冲突,然后再提交代码

本次任务

  • /contributions/USER_LIST.md文件用于存放所有贡献者个人介绍文件清单。
  • 在此文件添加本人“个人介绍”的文件链接,具体文件修改方式见后面的步骤。

开始实践

1、先确保上次的PR被成功merge。在上次成功的基础上,进行本次实验步骤。

2、检查当前开发环境信息


执行git remote命令,检查upstream是否存在

git remote17f6e29de5ae2874d167d704ad6af20a.png如果upstream不存在,则需要执行以下命令,添加upstream

git remote add upstream git@github.com:2020NCOV/ncov-report


执行git branch命令,查看当前分支情况

git branch9652162a6d9537e74a77e195e1b28f2f.png

由于在上次提交PR2之后,这期间一直没有修改过本地代码,因此可以执行以下命令,再次同步远程的upstream仓库数据

由于刚刚同步了最新的内容,因此下面的操作步骤可能不会产生冲突,建议等一段时间(在你更新upstream后,有新的PR并被merge)再进行后面的实践步骤,这样才能有冲突发生,才能体验冲突解决的步骤

git pull --ff upstream master485f56b7b534a5e7787a1fea82dd58b1.png这些内容是自上次更新内容后,主仓库中又新增的内容


3、在本地仓库创建一个新分支,名字可以为pr3test,该分支名字可以自行确定

git checkout -b pr3test

执行git branch命令,查看当前分支情况

git brancheb6c0f561bdc4eeb4a3f17274cc6fb9c.png


4、修改文件contributions/USER_LIST.md

此文件为多人协作共同维护的文件
在原有内容基础上,增加一行本人简介文件链接,记录内容如下:b7a497b32dde2259ea2185a941403275.pngUSER_LIST.md文件

5、提交更改到本地仓库

提交之前可以使用git status命令,查看当前本地git库状态

75c91a439f2c7f8c4767212d4d4dc651.pnggit status

提交本地暂存库

git add .
git commit -m "此处填写描述信息"
23d022ee936ce291a85d182e6f56d095.png


6、将本地仓库与上游仓库内容进行同步

git fetch upstream master
git rebase upstream/master
27c3a032c87263de33ee52b98f3f43d8.png0fb22c3686e9e7e5f16199d35d6f4d69.pngupstream仓库与本地有冲突,其他用户修改过同一个文件


7、解决冲突(如果存在冲突,则需要执行此步骤)

先手动解决冲突的内容

50ac5c99e7ff3420c87ba2ef30f1e755.png发生冲突的文件Git用<<<<<<>>>>>>标记出不同分支的内容&#xff0c;然后我们根据情况&#xff0c;手动解决&#xff0c;然后再提交就可以了。手动解决冲突后&#xff0c;执行以下命令&#xff1a;

git add contributions/USER_LIST.md
git rebase --continue
6cd2505280976f29cd3e61d0cd4825f0.png


8、将本地库分支推送到github

git push -f origin pr3teste3016430f4a144eac42182e003f2b5e5.png


9、提交PR

此时你会发现&#xff0c;你的个人github仓库中多了一个pr3test分支。9802cffd50ecd901a2358e8257795b83.png查看一下修改的内容现在可以按照上次教程的步骤&#xff0c;基于pr3test分支来提交PR了f63eea2ca7b9ebca5aefbe043abf9638.png创建PR0ba4245b3388ad39ed247e86fe16614c.png创建PR3

10、在你的PR被成功合并(merge)后&#xff0c;还需要做如下清理和同步的工作

  • 在本地的git bash客户端中的命令行&#xff0c;执行如下命令删除远程分支&#xff1a;

git push origin --delete pr3test

  • 检出并切换本地仓库的主分支(master)&#xff1a;

git checkout master -f

  • 删除本地分支branch-name&#xff1a;

git branch -D pr3test

  • 用最新的upstream版本来更新本地仓库的主分支(master)&#xff1a;

git pull --ff upstream master至此&#xff0c;你的本地仓库的主分支(master)与远程仓库代码主分支(master)保持一致&#xff0c;并且删除了本地仓库和你个人github仓库中的branch-name分支了。

更多的交流活动&#xff0c;敬请关注我们的开源项目相关活动动态信息

Github 开源项目地址&#xff1a;https://github.com/2020NCOV/ncov-reportbc7767a4e9d765e01ca110432d711576.png加好友&#xff0c;请注明2020NCOV 拉入学习交流群



推荐阅读
author-avatar
VE5851_325
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有