Git分支(5/5) -- 解决合并的冲突

如果两个分支上都对同一个文件进行了修改, 那么就有可能发生冲突.

首先创建一个分支, 并切换到该分支上:

然后修改index.html, 修改几个地方吧.

然后查看状态, 并commit:

然后切换到master, 并编辑同一个文件:

而这时index.html并不是realwork分支修改后的样子, 而是修改之前的样子:

然后修改index.html, 修改几处可能引起冲突的地方.

commit:

然后查看log:

接下来最应该做的就是diff:

也可以使用可视化工具进行diff:

下面进行合并:

不出所料, 冲突发生了, 自动合并失败.

现在的状态, 应该叫做Merging状态.

现在打开index.html是这样的:

可以看到两处冲突, 每处都有HEAD(master)版的和realwork分支版的.

上图我使用的是Visual Studio Code, 可以点击上面的按钮来进行冲突的解决, 也可以手动修改文件进行解决.

但是在这里我使用我配置好的mergetool:

git mergetool. 这个命令将会打开p4merge(我本机配置的mergetool):

按图示操作, 点击图标选择不同的版本, 最后点击保存即可.

关闭p4merge:

然后commit:

commit之后, 状态就不再是merging了, 但是会出现一个未被追踪的文件:

这是因为在解决冲突的时候, git会保存一个带有触痛的原始版本, 以备不时之需:

但是.orig文件是不应该被追踪的, 所以需要添加到.gitignore文件中:

然后查看状态:

这次只有.gitignore发生了变化.

commit:

最后可以删除 realwork 分支了:

查看log:

Ok.

原文地址:https://www.cnblogs.com/cgzl/p/8623236.html

时间: 2024-10-03 00:35:38

Git分支(5/5) -- 解决合并的冲突的相关文章

git 分支的创建、合并、删除

      基本概念与命令 分支(branch):每次提交,Git都把提交的内容串成一条时间线,这条时间线就是一个分支 .   git 分支的创建 git checkout -b gt 分支的合并 git merge git分支的删除  git branch -d git分支的查看  git branch      具体步骤 创建新的分支dev (以前的主分支是master) 查看git分支 在dev分支下添加并提交readme.txt 从dev分支切换到master分支 合并dev分支到mas

2016/01/13开始学习git:分支管理:解决冲突

创建新分支,commit后:切换回master分支,再次commit:Git此时无法快速合并. 可以git status找到冲突的文件readme.txt, 查看并修改,然后再次提交 1.创建新分支feature1,新增readme.txt的内容,然后add和commit git checkout -b feature1修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.git add readme.txt git comm

Git分支管理——创建、合并、删除分支

前言: 几乎所有的版本控制都以某种形式支持分支.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. Git的分支模型成称为它的"必杀技特性",也正因为这一特性,使得Git从众多版本控制系统中脱颖而出.Git处理分支的方式是难以置信的轻量,创建新的分支这一操作是秒级完成的,并且在不同分支之间的切换操作也是一样便捷. Git的分支,其实本质上仅仅是指向提交对象的可变指针.Git的默认分支是master.在多次提交操作之后,其实我们已经有一个指向最后那个提交对象的mast

Git 分支管理 创建与合并分支

分支在实际中有什么用呢? 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了. 你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作, 而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作. 创建与合并分支 在版本回退里,你已经知道,每次提交

Git分支的创建与合并

以dev分支为例子,分支的操作: 1.创建分支 $ git branch dev 创建并切换分支: git checkout -b dev 2.查看分支,当前分支前面会标一个*号 $ git branch 3.切换分支 $ git checkout master 4.分支合并 git merge dev 5.删除分支 $ git branch -d dev

GIT 分支管理:多人协作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: $ git remote origin 或者,用git remote -v显示更详细的信息: $ git remote -v origin https://github.com/wangmingshun/studygit.git (fetch) origin https://github.com/wangming

GIt分支管理策略

大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对

4、git分支管理

一.分支的创建与合并 在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支. 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: 每次提交,master分支都会向前移动一步,这

Git3:Git分支

目录 一.概念 二.创建与合并分支 1.创建分支原理分析 2.创建分支语法 三.解决冲突 四.分支管理策略 1.保留分支历史 2.分支管理原则 五. bug分支 六.推送和拉取远程分支 一.概念 分支就像漫威漫画宇宙里的平行宇宙.在一个宇宙中,美国队长是正义的化身,是复仇者的领导者.而在另一个宇宙中,美队成了九头蛇. 两个平行宇宙互不干扰,那么也没啥影响.不过在某个时间点,两个宇宙交叉了,于是就出现了死侍大战死侍. 而每一个平行宇宙就相当于一个分支.平行宇宙会在某个时间点出现交叉,而分支也会在某