Git合并分支出现的冲突解决
人生不如意之事十有八九,合并分支往往也不是一帆风顺的。
我们准备新的分支newbranch.
LV@LV-PC MINGW32 /c/gitskill (master)
$ git checkout -b newbranch
Switched to a new branch 'newbranch'
修改readme.txt,在最后一行添加:
$ cat readme.txt
master分支内容
添加dev分支内容
分支合并测试
在分支newbranch上提交:
LV@LV-PC MINGW32 /c/gitskill (newbranch)
$ git add readme.txt
LV@LV-PC MINGW32 /c/gitskill (newbranch)
$ git commit -m "newbranch first commit"
[newbranch cccee34] newbranch first commit
1 file changed, 2 insertions(+), 1 deletion(-)
切换到master分支上:
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
在master分支上把readme.txt文件的最后一行添加:
master分支上的合并测试内容
添加,提交
LV@LV-PC MINGW32 /c/gitskill (master)
$ git add readme.txt
LV@LV-PC MINGW32 /c/gitskill (master)
$ git commit -m "master branch merge test"
[master 4bb4c5a] master branch merge test
1 file changed, 2 insertions(+), 1 deletion(-)
这种情况下,自动合并会出现冲突:
LV@LV-PC MINGW32 /c/gitskill (master)
$ git merge newbranch
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
我们直接查看合并后的readme.txt文件内容:
$ cat readme.txt
master分支内容
添加dev分支内容
<<<<<<< HEAD
master分支上的合并测试内容
=======
分支合并测试
>>>>>>> newbranch
Git会用<<<<<<<,=======,>>>>>>>标记不同分支的内容,我们修改一下后保存
master分支内容
添加dev分支内容
master分支上的合并测试内容
分支合并测试
然后添加,提交:
LV@LV-PC MINGW32 /c/gitskill (master|MERGING)
$ git add readme.txt
LV@LV-PC MINGW32 /c/gitskill (master|MERGING)
$ git commit -m "branch merge"
[master f3d8f1e] branch merge
用带参数的git log也可以看到分支的合并情况:
LV@LV-PC MINGW32 /c/gitskill (master)
$ git log --graph --pretty=oneline --abbrev-commit
* f3d8f1e branch merge
|\
| * cccee34 newbranch first commit
* | 4bb4c5a master branch merge test
|/
* 0d0bbca dev first commit
* d5aea29 master first commit
* 023ee21 Initial commit
现在,删除newbranch分支:
LV@LV-PC MINGW32 /c/gitskill (master)
$ git branch -d newbranch
Deleted branch newbranch (was cccee34).
LV@LV-PC MINGW32 /c/gitskill (master)
$ git branch
* master
小结:当Git无法自动合并分支时,就必须首先解决冲突,解决冲突后,再提交,合并完成
可以用$ git log --graph 命令可以看到分支合并图。
Git合并分支出现的冲突解决的更多相关文章
- Git错误non-fast-forward后的冲突解决
Git错误non-fast-forward后的冲突解决当要push代码到git时,出现提示: error:failed to push some refs to ... Dealing with “n ...
- git 合并分支到master
git 合并分支到master 假如我们现在在dev分支上,刚开发完项目,执行了下列命令 git add .git commit -m ‘dev'git push -u origin dev 然后 ...
- 用git合并分支时,如何保持某些文件不被合并
用git合并分支时,如何保持某些文件不被合并_fkaking的专栏-CSDN博客_git 合并分支 https://blog.csdn.net/fkaking/article/details/4495 ...
- git合并分支与解决冲突
前提: 当前开发的分支为feature/20161129_317606_algoplatform_1,由于feature/20161130_322574_tmstools_1分支有新内容,所以准备将f ...
- Git 解决合并分支时的冲突
参考链接:https://www.liaoxuefeng.com/wiki/896043488029600/900004111093344 创建分支时,新分支的文件内容建立在原分支的基础上,我们称这时 ...
- Git合并分支或者冲突
假设冲突文件是 test/TestCase.php 下面分5种情况讨论. 1.本地不变. 然后远程别人有更新. git pull 这种最简单,没有冲突,本地工作区直接更新 2.我本 ...
- git分支管理与冲突解决(转载)
Git 分支管理和冲突解决 原文:http://www.cnblogs.com/mengdd/p/3585038.html 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称 ...
- Git合并分支命令:git merge --ff
今天研究了一下git merge命令常用参数,并分别用简单的例子实验了一下,整理如下: 输入git merge -h可以查看相关参数: --ff 快速合并,这个是默认的参数.如果合并过程出现冲突,G ...
- Git应用—03分支管理和冲突解决(转载)
Git 分支管理和冲突解决 https://www.cnblogs.com/mengdd/p/3585038.html 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. ...
随机推荐
- Spring MVC(一)
MVC这种设计模式,不光运用于Web领域,而且也能用于非Web领域,MVC特指一种表现层设计模式,不限于Java语言 spring mvc属于spring框架的后续产品,用在基于MVC的表现层开发,类 ...
- mybatis拦截器分页
package com.test.interceptor; import java.sql.Connection; import java.sql.ResultSet; import java.sql ...
- 纯CSS实现斜角
今天看了看腾讯的七周年时光轴,发现这个斜角的CSS,研究了半天提出下面代码可以直接实现斜角,不是CSS3哦,那个就太容易了 -webkit-transform:rotate(10deg); 倾斜度后再 ...
- 第一百零二节,JavaScript函数
JavaScript函数 学习要点: 1.函数声明 2.return返回值 3.arguments对象 函数是定义一次但却可以调用或执行任意多次的一段JS代码.函数有时会有参数,即函数被调用时指定了值 ...
- alibaba远程调用框架dubbo原理
alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo.hsf),jms消息服务(napoli.notify),KV数据库(tair)等.这个框架/工具/产 ...
- JPA EntityManagerFactory Vs Hibernate’s SessionFactory
JPA使用EntityManagerFactory开闭session,而Hibernate使用SessionFactory开闭session.两者区别: 1. EntityManagerFactory ...
- [SQL基础教程]1-4 SQL 表的创建
[SQL基础教程]1-4 SQL 表的创建 创建数据库 语法 CREATE DATABASE <数据库名称> // example CREATE DATABASE shop; 创建表 语法 ...
- openwrt 路由器变砖后修复方法
https://wiki.openwrt.org/doc/howto/generic.debrick 变砖后需根据类型进行修复,主要有以下四种: (1)if only something on the ...
- marble 基本函数(一)
. 标记 GeoDataPlacemark *place = new GeoDataPlacemark( "Bucharest" ); place->setCoordinat ...
- Xshell4连接,Linux系统中文显示乱码解决办法
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET NetSarang Xshell 4 Build 0120议.使用 ...