掌握Git工作流(二)--git分支管理

分支管理大纲:

分支就相当于是工厂里的流水线,分支之间是互相不会影响的。

掌握Git工作流(一)--git基本操作

掌握Git工作流(二)--git分支管理

掌握Git工作流(三)--git工作流

一. git 分支基本操作

也可以理解为两条流水线;

 

 

 

HEAD是指向当前分支,分支才指向当前的版本。 

 

创建并切换分支的过程如下:

创建分支是创建一个dev的指针指向节点,切换分支就是用HEAD来指向dev分支。

master还在原来的位置

git checkout master相当于是直接让HEAD指向了master分支;

 

合并相当于是对HEAD以及master直接进行操作,使它们移动到dev的分支上;

快速合并就是把指针直接挪动到当前的版本节点。

二. git 分支解决冲突

有些时候,合并分支并不是总是成功的。

现在的图是这种情况:

在两个分支上都有了新的提交,并且编辑的都是同一个文件,在合并时就会起冲突,冲突必须手动的进行解决,并进行一次新的提交

 

小结:

在合并分支时,可能会起冲突。解决办法就是先通过git status找到冲突是在哪个文件中,接着手动解决完冲突的文件后,再次提交即可。

三.git分支分支管理策略

注:此时合并dev得内容到master不会产生冲突。当两个分支都有各自得提交,并且编辑同一个文件时才会有冲突。但是此时不会起冲突,但是不能快速提交。当快速合并不能成且没有冲突得时候,此时会在合并之后做一次新的提交。

上述过程如图所示:

会出现一个弹窗得信息:

输入合并信息:

通过Ctrl + X 保存并退出

此时效果如图:

创建并切换到dev分支如图所示,将HEAD移过来,指向dev分支:

对应如图所示:

将HEAD重新移动到master上面:

现在如果直接使用git merge dev的话,其会执行快速合并,因为dev分支上有提交记录,master分支上还没有。

但是有时我们为了保存提交的记录,我们需要手动的禁止快速合并。

禁止快速合并之后,它就会合并后重新做一次新的提交,那么新提交需要有一个说明信息,就在-m后面加上说明信息。

对应的图如下,将之前的master更新往上移动:

问:快速合并和禁止快速合并的模式有什么不同?

快速合并在git log 中不显示合并的记录。

那么什么时候我们会禁止快速合并模式呢?

因为此时你手上的工作还没有完成,所以不能进行直接提交。

此时再通过git status来看,工作区就变干净了。

 

 

猜你喜欢

转载自blog.csdn.net/qq_29027865/article/details/94741942