git(16)---解决冲突
(Git学习)解决冲突
人生不如意之事十之八九,合并分支往往也不是一帆风顺的。
准备新的feature1
分支,继续我们的新分支开发:
$ git checkout -b feature1
Switched to a new branch 'feature1'
修改readme.txt
最后一行,改为:
Creating a new branch is quick AND simple.
在feature1
分支上提交:
$ git add readme.txt
$ git commit -m "AND simple"
[feature1 14096d0] AND simple
1 file changed, 1 insertion(+), 1 deletion(-)
切换到master
分支:
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Git还会自动提示我们当前master
分支比远程的master
分支要超前1个提交。
在master
分支上把readme.txt
文件的最后一行改为:
Creating a new branch is quick & simple.
提交:
$ git add readme.txt
$ git commit -m "& simple"
[master 5dc6824] & simple
1 file changed, 1 insertion(+), 1 deletion(-)
现在,master
分支和feature1
分支各自都分别有新的提交,变成了这样:
这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突,我们试试看:
$ git merge feature1
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
果然冲突了!Git告诉我们,readme.txt
文件存在冲突,必须手动解决冲突后再提交。git status
也可以告诉我们冲突的文件:
$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
我们可以直接查看readme.txt的内容:
Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1
Git用<<<<<<<
,=======
,>>>>>>>
标记出不同分支的内容,我们修改如下后保存:
Creating a new branch is quick and simple.
再提交:
$ git add readme.txt
$ git commit -m "conflict fixed"
[master cf810e4] conflict fixed
现在,master
分支和feature1
分支变成了下图所示:
用带参数的git log
也可以看到分支的合并情况:
$ git log --graph --pretty=oneline --abbrev-commit
* cf810e4 (HEAD -> master) conflict fixed
|\
| * 14096d0 (feature1) AND simple
* | 5dc6824 & simple
|/
* b17d20e branch test
* d46f35e (origin/master) remove test.txt
* b84166e add test.txt
* 519219b git tracks changes
* e43a48b understand how stage works
* 1094adb append GPL
* e475afc add distributed
* eaadf4e wrote a readme file
最后,删除feature1
分支:
$ git branch -d feature1
Deleted branch feature1 (was 14096d0).
工作完成。
小结
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph
命令可以看到分支合并图
git(16)---解决冲突相关推荐
- git mergetool 解决冲突的问题
git mergetool 解决冲突的问题 参考文章: (1)git mergetool 解决冲突的问题 (2)https://www.cnblogs.com/toward-the-sun/p/659 ...
- git如何解决冲突?
git如何解决冲突? 一.什么情况下会产生冲突? 二.冲突的解决 三.撤销合并 一.什么情况下会产生冲突? 当多个开发者同时使用或者操作 git 中的同一个文件时: 多个分支代码合并到一个分支: 多个 ...
- Git | 如何解决冲突 (BranchName|MERGING)
Git 如何解决冲突 (遇到好的方式方法,还会继续更新) 冲突后本地代码会变成(你的分支|MERGING) 1, git reflog 查看提交记录,找到想要退回的某个提交的headerId git ...
- git如何解决冲突(代码托管在coding)
分支A提交合并请求到分支B,有冲突 git fetch code 拉取远程仓库的其他分支代码(我拉代码是remote add code所以这里是code,可以用git remote查看) git ch ...
- git命令解决冲突解决
第一种情况: 线上为master主分支以及自己的分支 my_branch 本地有master主分支以及自己的分支 my_branch 本地自己分支开发完之后 1.先提交本地自己分支开发代码 git a ...
- git冲突解决,使用git命令解决冲突【通用版】
文章目录 一.准备 1-1.dev分支里面的README 1-2.master分支里面的README 1-3.说明 二.冲突 2-1.合并结果 2-2.解决冲突一(有master分支操作权限) 2-2 ...
- git rebase解决冲突
同一分支不同仓库引起的冲突 A,B仓库分别对同一文件做了修改后,各自提交,此时后面提交的在push时就会出现冲突 解决步骤: 1.git fetch(下载所有分支的最新的代码) 2.git rebas ...
- android Studio Git命令--解决冲突和产看提交内容,android输入法开发软键盘切换
显示Sample commit6305aa81a265f9316b606d3564521c43f0d6c9a3 Author:XXX Date: Thu Nov 3 11:38:15 2011 + ...
- Git 版本管理 解决冲突
首先克隆分支: :git clone https://github.com/LLLUZHAO/Test.git 正克隆到 'Test'... remote: Enumerating objects: ...
最新文章
- 内存分配策略(一):JVM栈桢及方法调用详解
- 从零入门 FreeRTOS 操作系统之任务的概念
- 机器学习(八)——在线学习、K-Means算法、混合高斯模型和EM算法
- 不是所有人都懂这样做,你若做了就能高升!
- 软件工程15 个人阅读作业1
- 诗与远方:无题(三十)- 凄凉缘空
- 【Hbase】HBase数据快速导入之ImportTsv
- app4788usvod3html,ROBOHAND RPLC-3
- Rize - 一个可以让你简单、优雅地使用 puppeteer 的 Node.js 库
- Halo-dream 博客小程序
- iphone同步android短信,如何从iPhone导入短信到Android手机?
- Navicat Premium 连接oracle 提示ORA-01017:用户名/口令无效;登陆被拒绝
- Scala:try match
- Python ISBN号概述,校验位计算,10位-13位转换,验证,连字符,及常用库isbnid,isbnlib,isbntools的使用
- mo管理器java_Android开发之通过包管理器获取安装应用信息
- 【云原生系列】第一讲:什么是云计算
- scroll-top 设置微信小程序滚动条位置
- 大神揭秘:苹果 ARKit 凭什么碾压对手?
- Eal:Error reading from file descriptor 33: Input/output error
- GDUT_排位赛题解报告_第5场_A. 唯一排列