git操作之冲突解决
应用场景,任哥,我两个人共同修改了git项目上的一个文件。zsh命令行模式
准备工作
简写命令解释
gl=git pull
gp=git push
gst=git status
gcmsg=git commit -m
操作演示文件
test_git.py
切换到分级developer
git checkout developer
文件内容
1
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操作之冲突解决的更多相关文章
- Git 分支管理和冲突解决
Git 分支管理和冲突解决 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支 ...
- Git分支合并冲突解决(续)
接Git分支合并冲突解决,在使用rebase合并冲突情况下,如果不小心,执行完add后执行了commit,此时本地仓库HEAD处于游离态(即HEAD指向未知的分支),如何解决? 解决方法 (1)此时, ...
- Git 学习笔记--Git下的冲突解决
冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动m ...
- Git下的冲突解决【转】
本文转载自:http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html 冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是m ...
- Git分支合并冲突解决
前2天群里发了张git历史图,如下: 根据提交历史,可以看出图中所有分支合并都采用merge的方式,具体merge是怎么操作的,可以阅读下边文章. 根据项目上的需求,如果要求git提交历史是比较简单的 ...
- git学习之冲突解决办法
1.如果本地项目和远程服务器的同一文件都有改动,那么就会产生冲突,导致git pull 失败,报错见下. 解决办法:先执行git stash指令,暂存当前的改动状态,再执行git pull指令,就可以 ...
- git pull 发生冲突解决办法
冲突原因:远程仓库的同一个文件的代码,和本地的文件代码不一样 解决办法 : 1.git stash (把本地冲突的代码隐藏) 2.git pull 3.git stash pop (将隐藏的和pull ...
- git切换分支冲突解决-删除分支
在项目开发中,有多个版本分支需要不时的来回切换,在切换的过程中,产生了很多冲突,提交的时候 也提交不了.总结下在解决这个过程中使用的两种方法: 1.删除项目在磁盘的目录,包括 git 文件,重新 cl ...
- 多线程协作 FileStream文件读写操作,读写冲突解决
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
随机推荐
- 倒置输入的整数(C、Python)
C语言: # include <stdio.h> void f(int num) { , j=, yu; printf("转置后:"); ) { yu = num ...
- poj3114 Contries in War (tarjan+dijkstra)
缩完点后对每次询问做dijkstra即可 #include<cstdio> #include<cstring> #include<algorithm> #inclu ...
- 在任意位置获取应用程序CONTEXT
Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context, 而在某些工具类中要获 ...
- JAVA8给我带了什么——lambda表达
这此年来我一直从事.NET的开发.对于JAVA我内心深处还是很向往的.当然这并不是说我不喜欢.NET.只是觉得JAVA也许才是笔者最后的归处.MK公司是以.NET起家的.而笔者也因为兄弟的原因转行.N ...
- 【模板】第 K 大数
题目:给定一个序列,求其第 K 大的数是多少. 时间复杂度\(O(n)\) 代码如下: #include <bits/stdc++.h> using namespace std; cons ...
- 12: MyBatis之传入参数parameterType
源链接地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764
- 一不小心用oracle关键子创建了表,如何修改
一不小心将备注字段建成了ORACLE的关键子COMMENT. 用下面的语句修改成NOTES ------------------------------------------------------ ...
- STM32 一直进入串口接收中断
解决方法一: .串口初始化配置时,需要打开ORE 溢出中断,否则串口中断没有及时读取数据会触发溢出中断(打开接收中断默认开启溢出中断,但是为了读取溢出标志位还需要明确执行以下打开溢出中断),如果没有清 ...
- Spring入门(1)
1.新建java project,然后新建spring文件夹,把六个基本的包复制进去,然后全选所有的包,右键bulid Path>add**; 2.src所包含的class,beans.xml ...
- 【Maven】基础概念、仓库、构建与部属
1.常见的自动化构建工具有: make.ant.maven.gradle,gradle是目前最新的,maven是目前最常用的. Eclipse是一种半自动化构建工具,主要体现在把:java文件-> ...