应用场景,任哥,我两个人共同修改了git项目上的一个文件。zsh命令行模式

准备工作

简写命令解释

gl=git pull
gp=git push
gst=git status
gcmsg=git commit -m

操作演示文件

test_git.py

切换到分级developer

git checkout developer

文件内容


2
3
4
5
6

正常情况

任哥修改了文件添加了一个7

然后执行了以下命令。

# git add test_git.py 如果git项目中没有这个文件就需要add。
git commit -m "add 1-6 to py file" .
git push

任哥的命令操作

我pull了一下

简写gl

我pull了一下

test_git.py | 1+
1 file changed,1 insertion(+)

可以发现我这多了一个文件。

冲突开始

任哥对原文件进行如下修改:

任哥添加了个7
然后执行一下的命令

git commit -m "add 7 to py file" .
git push

命令截图

我同样修改了文件内容如下:

我添加了个8
然后git pull了一下出现下图
error:合并冲突
然后我执行了git status
查看状态
发现红字modified test_git.py 意思是这个文件修改了,因为任哥修改了文件并提交了,我本地也修改了。
根据提示 如果修改了文件执行git add,然后执行git commit,如果没有修改直接执行git commit。

我没有注意提示直接执行了git commit而没有执行git add 出现了如下错误。
具体命令如下

git commit -m "add 8 to file" . 
git push 
#继续报错
git pull

看最后一行fix conflicts and run "git commit"。让我解决冲突再次提交,此时发现命令行多了个状态>M<,这个符号告诉我们当前处于merge状态。

没有使用add直接提交
然后我再执行git status查看状态
查看冲突状态

发现红色字体both modified :test_git.py.两个文件都修改了
这个时候我们就需要看看这个文件发生了什么 发现多了一些看不懂的内容,内容如下:

此时文件内容

<<<<<HEAD
8
======
7
>>>>>>一串字符串

冲突的部分使用<<<<<进行了内容标示,=====将内容分为了两部分,8上面标有HEAD,一般己方修改的会标有HEAD,====下面的7是任哥,添加的。此时我需要做的就是和任哥确认是留8还是7,经过商量最后留我的数字8,然后我需要做的就是修改上面的内容为下面内容

8

下面对这次修改的内容做了一次解释:

<<<<<HEAD  #手动删除
8
======  #手动删除
7    #手动删除
>>>>>>一串字符串  #手动删除

然后执行
git commit之后执行git push,完成本次修改。
最后习惯性的执行一次git pull 确认是最新的代码。

最后提交
拉取最新的代码

显示Everything up-to-date即最新代码

更多工具使用以及python技巧,请关注公众号:python学习开发。

如果您喜欢我的文章不防动动小手转发一波,谢谢。
点击阅读原文进入我的博客园,看代码更方便。由于人数超过100所以需要添加我微信:italocxa,然后拉您入群。

git操作之冲突解决的更多相关文章

  1. Git 分支管理和冲突解决

    Git 分支管理和冲突解决 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支 ...

  2. Git分支合并冲突解决(续)

    接Git分支合并冲突解决,在使用rebase合并冲突情况下,如果不小心,执行完add后执行了commit,此时本地仓库HEAD处于游离态(即HEAD指向未知的分支),如何解决? 解决方法 (1)此时, ...

  3. Git 学习笔记--Git下的冲突解决

    冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动m ...

  4. Git下的冲突解决【转】

    本文转载自:http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html 冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是m ...

  5. Git分支合并冲突解决

    前2天群里发了张git历史图,如下: 根据提交历史,可以看出图中所有分支合并都采用merge的方式,具体merge是怎么操作的,可以阅读下边文章. 根据项目上的需求,如果要求git提交历史是比较简单的 ...

  6. git学习之冲突解决办法

    1.如果本地项目和远程服务器的同一文件都有改动,那么就会产生冲突,导致git pull 失败,报错见下. 解决办法:先执行git stash指令,暂存当前的改动状态,再执行git pull指令,就可以 ...

  7. git pull 发生冲突解决办法

    冲突原因:远程仓库的同一个文件的代码,和本地的文件代码不一样 解决办法 : 1.git stash (把本地冲突的代码隐藏) 2.git pull 3.git stash pop (将隐藏的和pull ...

  8. git切换分支冲突解决-删除分支

    在项目开发中,有多个版本分支需要不时的来回切换,在切换的过程中,产生了很多冲突,提交的时候 也提交不了.总结下在解决这个过程中使用的两种方法: 1.删除项目在磁盘的目录,包括 git 文件,重新 cl ...

  9. 多线程协作 FileStream文件读写操作,读写冲突解决

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

随机推荐

  1. 牛客练习赛 小A与任务 解题报告

    小A与任务 链接: https://ac.nowcoder.com/acm/contest/369/B 来源:牛客网 题目描述 小A手头有 \(n\) 份任务,他可以以任意顺序完成这些任务,只有完成当 ...

  2. Looper Handler Mssage

    1. 一个Handler只有一个队列;2. 在调用Handler.post(Runnable runnable)方法时,会将runnable封装成一个Message;3. 在队列执行时,会判断当前的M ...

  3. (转)同一服务器部署多个tomcat时的端口号修改详情

    背景:在同一个服务器上部署工程,总会遇到tomcat端口占用的情况,所有有必要分清楚各个端口的作用,和需要更改的端口. 同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat ...

  4. 试着用c写了一个多线程的同步

    在Java中写多线程相关的程序简单很多,在多线程中需要同步的时候,使用synchronized就行了. 最近学习c的多线程与同步,感觉实现起来,要写的代码比较多一些,这也许是因为java封装的比较好吧 ...

  5. advancedsearch.php织梦高级自定义模型字段无法调用解决方案

    advancedsearch.php织梦dedecms 高级自定义模型字段无法调用解决方案 ,具体步骤如下: 1  打开修改puls/advancedsearch.php文件,找到复制代码(不同版本可 ...

  6. JVM总结(六):早期(编译期)优化

    这节我们来总结一下JVM编译器优化问题. JVM编译器优化 Javac编译器 Javac的源码和调试 解析与填充符号表 注解处理器 语法分析与字节码生成 Java语法糖 泛型和类型擦除 自动装箱.拆箱 ...

  7. 9、JPA-映射-双向多对多

    实体类 Category package com.jpa.yingshe; import java.util.HashSet; import java.util.Set; import javax.p ...

  8. javascript 实现手风琴特效

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. KDevelop使用经验

    KDevelop中不显示行号: 1.上方菜单栏"编辑器"->查看->Show Line Numbers 2.设置->配置编辑器->Appearance-&g ...

  10. HDU - 4389 X mod f(x)(数位dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=4389 题意 为[A,B] 区间内的数能刚好被其位数和整除的数有多少个. 分析 典型的数位dp...比赛时想不出状 ...