文本将会向您介绍创建、查看、切换、合并、删除、合并、临时保存等分支管理操作
[Fan_558@VM-12-13-centos gitcode]$ git branch dev //创建分支
[Fan_558@VM-12-13-centos gitcode]$ git branch //查看分支
dev
* master
[Fan_558@VM-12-13-centos gitcode]$ git checkout dev //切换分支

然后在dev分支上进行add,commit操作

[Fan_558@VM-12-13-centos gitcode]$ git checkout master //切换回master分支

原因是此时master分支并没有指向最新的提交

我们来看看dev分支和master分支指向,发现二者指向的提交是不一样的


最后我们再打印Readme文件,会发现此时master分支下也具有了dev分支上添加的内容
我们也可以观察二者指向的提交(此时一致了)



如果一个分支上进行了add,commit操作后,切回master分支想要删除这个分支,这时使⽤传统的 git branch -d 命令删除分支的方法是不行的

这时我们需要使用强制删除git branch -D dev
若是我们在dev分支做修改

又在master分支做了修改

并都进行add,commit操作
现在, master 分⽀和 dev1 分⽀各⾃都分别有新的提交

这种情况下,Git 只能试图把各⾃的修改合并起来,但这种合并就可能会有冲突
在master分支下尝试合并dev分支
发现 ReadMe ⽂件有冲突后,可以直接查看⽂件内容,要说的是 Git 会⽤ <<<<<<<,=======, 来标记出不同分⽀的冲突内容
如下:

这时我们就需要手动进行修改,并需要再次提交修改后的结果
修改成如下:

注意一定重新提交



我们可以观察到,add hello linux的那一行并没有显示该提交是我们合并还是直接commit得来的。

Git ⽀持我们强制禁⽤ Fast forward 模式,那么就会在 merge 时⽣成⼀个新的 commit ,这样,从分⽀历史上就可以看出分⽀信息。
–no-ff ⽅式的 git merge

当我们强制禁⽤ Fast forward 模式后,再合并,打印提交信息
可以观察到delete hello linux那一行,有合并的指向,告诉我们此提交是通过merge合并得来的
dev分支下:

进行git stash暂存修改操作

然后切换到fix_bug分支上修复bug

提交

将修复好的内容合并到master分支上

最后切回dev分支进行git stash pop将指定的暂存的修改恢复继续进行开发

最后再一次add,commit就好了,再切回master分支上进行合并
今天的分享就到这里啦,如果本文存在遗漏或错误的地方,还请您能够指出!