使用git处理github中提交有冲突的pull request的问题

前言:

  为什么要写这篇文章,因为前段时间有一个开源的github中的项目有一个朋友提交了一个pr看了下是帮忙优化了下代码(十分感谢这位网友)。但是他提交的pr刚好和我的项目有许多的冲突导致无法自动合并,在github中提示只能使用命令行指令进行合并,因为这种情况处理的比较少为了以后方便使用在这里记录一下。

github中的大概命令合并指令

1、首先我们需要下载一个git分布式管理工具

下载Git链接地址:https://git-scm.com/

2、然后我们需要clone下我们的项目

git clone sgit@github.com:YSGStudyHards/NPOI-ExportWordAndExcel-ImportExcelData.git(ssh项目链接)

3、创建并切换到该分支,并同步到master中

git checkout -b 创建的分支名 master

使用git branch查看当前所属分支

4、拉取有冲突的pr到该分支中

git pull https//github.com/某人的/某项目的.git master

github中的命令语句

git pull git://github.com/hongbobaoer/NPOI-ExportWordAndExcel-ImportExcelData.git 20201109

5、直接打开冲突文件手动解决冲突

当项目拉取下来以后,我们就需要解决有冲突的文件信息了  

由下面的冲突文件中的冲突内容我们了解到:

<<<<<<< HEAD
6月19日 pingrixuexilianxi添加了内容
=======
6月18日 pingrixuexilianxi2修改了这个文件哦
>>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5

<<<<<<< HEAD到 =======里面的【6月19日 pingrixuexilianxi添加了内容】是自己刚才的Commit提交的内容=======到 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5里面的【6月18日 pingrixuexilianxi2修改了这个文件哦】是远程代码库更新的内容(即为pingrixuexilianxi2本地代码库推送修改内容)。手动冲突解决方法根据项目需求删除不需要的代码就行了,假如都需要的话我们只需要把<<<<<<< HEAD======= >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都删掉冲突就解决了(注意,在项目中最后这些符号都不能存在,否则可能会报异常)。或者可以使用git可视化管理工具(推荐)

原因:由于有些人使用代码合并比较生疏,为了避免出错推荐使用sourcetree进行解决冲突合并。

详细使用sourcetree地址参考:https://www.cnblogs.com/Can-daydayup/p/13128633.html

6、合并更改并在GitHub上更新

注意:这里是没有使用可视化工具合并的时候才需要自己使用代码去执行合并,提交,更新操作!

git commit -a //把修改提交到新建的分支上,会提示你成功merge本地代码到这个人的代码库

git checkout master //切换到自己的主分支上

git merge 创建的分支名 //将新建的分支合并到自己的分支上

git push origin master //将代码推送的远程仓库中

到此这篇关于使用git处理github中提交有冲突的pull request的文章就介绍到这了,更多相关git处理github提交冲突内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Git pull命令与fetch命令的区别

    Git pull命令与fetch命令的区别 今天在公司碰到个问题,公司不使用master分支作为主分支,而使用release分支作为主分支,这就碰到了个问题,也就是当clone一个项目下来的时候,如果master跟release分支有冲突,就不能pull了,自己还要解决冲突. 刚下一个项目,也不懂冲突到底怎么回事,也就很难搞了. 这个时候,就不得不提Git的两个命令,git fetch和git pull Git中从远程的分支获取最新的版本到本地有这样2个命令: Git fetch git fet

  • 如何把idea中的项目导入github仓库中(图文详解)

    把idea中的项目导入github仓库中步骤详解做完项目进行云端保存是很必要的,我都是存放在github中.所以废活少说直接开始啦. 前提是已经下载过git并进行配置的,并且注册过github,再来进行以下idea的操作 git的操作部分详情看这里 1.检查自己的idea是否登录github 打开idea,点击file > setting > version control > git 点击file > setting > version control > githu

  • 使用VSCode如何从github拉取项目的实现

    最近使用vscode进行前端编程,遇到一些问题网上说明的不是很明显,故记录一下 1.开vscode使用CTRL+`或者点击查看到集成终端打开控制终端 2. 在终端中cd到存放文件夹下面,然后git clone https://github.com/iview/iview-project.git就可以将项目拉取下来 到此这篇关于使用VSCode如何从github拉取项目的实现的文章就介绍到这了,更多相关VSCode github拉取项目内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多

  • Git fetch和pull的详解及区别

    git fetch和pull的区别 Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge Git fetch origin master git log -p master..origin/master git merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上:然后比较本地的master分支和origin/mas

  • 如何把本地idea上的项目上传到github上(推荐)

    注意看标题 是 上传到github上,所以你的github地址是 : github.com 而不是其他的. 1.在github中创建一个账号:https://github.com/join?source=header-home 2.下载并安装git:https://git-scm.com/downloads 3.安装成功后打开Git Bash,输入下列命令,设置git全局用户名和邮箱 $ git config --global user.name "Your Name" $ git c

  • 使用git处理github中提交有冲突的pull request的问题

    前言: 为什么要写这篇文章,因为前段时间有一个开源的github中的项目有一个朋友提交了一个pr看了下是帮忙优化了下代码(十分感谢这位网友).但是他提交的pr刚好和我的项目有许多的冲突导致无法自动合并,在github中提示只能使用命令行指令进行合并,因为这种情况处理的比较少为了以后方便使用在这里记录一下. github中的大概命令合并指令 1.首先我们需要下载一个git分布式管理工具 下载Git链接地址:https://git-scm.com/ 2.然后我们需要clone下我们的项目 git c

  • 详解Eclipse提交项目到GitHub以及解决代码冲突

    前言:来这家公司上班后,开始使用Git作为项目版本控制系统,由于以前用的是SVN,所以对Git也就简单学习了一下.但是,实践出真知,当开始使用Git后,发现遇到了不少问题,也遇到过血的教训,于是决定记录一下,方便以后查看. 一.Eclipse安装Git插件 如果是比较新的Eclipse版本,默认就已经安装了Git插件. 菜单栏 --> Help --> About Eclipse ,如下图: 如果有这个图标,表示Eclipse已经安装了Git插件,如果没有这个图标,就到Eclipse插件市场下

  • git在idea中的冲突解决方法(非常重要)

    1.git冲突的场景 情景一:多个分支代码合并到一个分支时: 情景二:多个分支向同一个远端分支推送代码时: 实际上,push操作即是将本地代码merge到远端库分支上. 关于push和pull其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支 所以这两个过程中也可能存在冲突.git的合并中产生冲突的具体情况: <1>两个分支中修改了同一个文件(不管什么地方) <2>两个分支中修改了同一个文件的名称 两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分

  • IDEA通过git回滚到某个提交节点或某个版本的操作方法

    1.项目右键后,点击"Git - Show History" 这里会显示有历史提交的版本记录(这里我们假设要回滚到 "提交" 版本中) 2.选中 "提交" ,右键Copy Revision Number 3.回到项目,右键-Git-Repository-Reset HEAD 4.Reset Type选择Hard,To Commit处黏贴刚刚复制的版本号:然后点击Reset按钮 以上操作就能够使得项目回滚到"提交"版本 (注:操

  • Pycharm操作Git及GitHub的步骤详解

    项目开发中,代码管理肯定离不开git操作,Pycharm中没有复杂的命令操作,只需要进行一些简单的菜单操作就可以方便的实现版本管理,下面分别介绍下载pycharm中git的简单操作,以及在Pycharm中进行github项目的下载和上传. Pycharm操作Git 1.pycharm配置git Windows: Mac: 完成配置后,点击Test可以看到本地的git版本信息. 2.git项目clone到本地 按照如下路径,输入git仓库地址以及本地项目目录,点击clone 在弹出的密码框中输入g

  • Git基础之git在项目中的协作模式

    目录 1.分布式工作流程 2.集中式工作流 3.分支工作流 4.GitFlow 工作流(最流行) 5.Forking 工作流(偶尔使用) 6.总结 1.分布式工作流程 与传统的集中式版本控制系统(CVCS)相反,Git 的分布式特性,使开发者间的协作变得更加灵活多样. 在集中式版本控制系统中,每个开发者就像是连接在集线器上的节点,彼此的工作方式大体相像. 而在 Git 中,每个开发者同时扮演着节点和集线器的角色.也就是说, 每个开发者既可以将自己的代码贡献到其他的仓库中,同时也能维护自己的公开仓

  • 使用Git向GitHub上传更新内容

    1.在上文中clone的项目中,添加新文件Test.text 2.右击项目空白处,选择“TortoiseGit”——“添加” 3.在弹出框里,勾选新增加的文件,点击确定,把文件添加到本地仓库 4.提交到本地仓库: 4.1 接上面添加完成的步骤,直接点击提交 4.2 右击项目空白处,选择“提交” 5.在弹出的窗口,输入日志信息内容,然后点击“提交” 6.推送到远端GitHub仓库 6.1接上面提交到本地仓库完成后,直接点击推送 6.2项目文件夹空白处,右击,选择“TortoiseGit”——“推送

  • Git 教程之查看提交历史详解

    Git 查看提交历史 在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看. 针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下: $ git log commit 88afe0e02adcdfea6844bb627de97da21eb10af1 Merge: 14b4dca d7e7346 Author: w3cschool <w3c@w3cschool.cc> Date: Sun Mar 1 15:03:42

  • Android自定义View实现仿GitHub的提交活跃表格

    说明 本文可能需要一些基础知识点,如Canvas,Paint,Path,Rect等类的基本使用,建议不熟悉的同学可以学习GcsSloop安卓自定义View教程目录,会帮助很大. 上图就是github的提交表格,直观来看可以分为几个部分进行绘制: (1)各个月份的小方格子,并且色彩根据提交次数变化,由浅到深 (2)右下边的颜色标志,我们右对齐就可以了 (3)左边的星期,原图是从周日画到周六,我们从周一画到周日 (4)上面的月份,我们只画出1-12月 (5)点击时候弹出当天的提交情况,由一个小三角和

  • Git在Windows中安装与使用教程

    Git 代码管理工具,类似 SVN 客户端. 安装步骤: 1.官网下载Git:https://gitforwindows.org/ 2.双击运行,下一步下一步安装完成. 使用方法: 1.安装完成后,在桌面或者任意目录下右击鼠标,即可看到 Git Bash ... 如下图所示: 2.在文件夹中点击 Git Bash Here ,即可从 GitLab 或者 GitHub 中把代码拉到本地: 3.克隆项目代码,如从GitHub中把可视化MyBatis代码生成工具源码拉到本地,如下图所示: 命令窗口中输

随机推荐