分支管理 冲突解决

为什么需要分支呢?
比如你的基础代码已经发布了,
然后接到需求1,你正在开发中,而且周期比较长,
突然接到新的需求2,在基础的代码上,调整一些东西,这个需求必须立马执行,那么这时你就要创建一个新的分支,在需求1之前的代码来修改并实现需求2并发布

在git中,有一个分支叫做主分支,相当于一条主线,git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点。

分支管理 冲突解决

每次提交master都会向前移动一步!

用git创建一个新的分支develop,此时汇增加一个develop指针,同时将HEAD指向develop,而工作区的文件没有任何变化
分支管理 冲突解决

下面介绍几个命令:
创建分支:git branch develop(分支名)
切换分支:git checkout develop
创建并切换:git checkout -b develop
查看分支:git branch(查看当前有哪些分支)
合并分支:git merge develop

现在我们就来演练一下:
1.在桌面上新建文件 初始化仓库 并将文件添加 提交
分支管理 冲突解决

2.创建新分支develop 并切换到新分支下(git checkout -b develop)查看分支(git branch)绿色代表的是当前分支 图中当前分支是develop

分支管理 冲突解决

3.现在我们切换到master分支下 并在master分支下修改1.txt 修改之后 记得git add . git commit -m ‘..’

分支管理 冲突解决

4.在切换到develop分支下,可以看到在master分支下对1.txt修改的在develop分支下并没有记录,还是之前的内容

分支管理 冲突解决

5.现在在develop分支下,对1.txt进行修改 修改之后 记得git add . git commit -m ‘..’

分支管理 冲突解决

6.切换到master分支下 看1.txt内容

分支管理 冲突解决

7.将develop分支合并到master分支中

分支管理 冲突解决

我们可以看出1.txt的内容 冲突的地方都标注了 git用<<<<<< ======= >>>>>>标注出不同分支的内容
人为手动的将冲突解决 ,然后git add git commit就合并成功了

利用git log –graph –pretty=oneline–abbrev-commit 可以查看合并情况
分支管理 冲突解决
此刻切回develop分支查看1.txt还是
分支管理 冲突解决

利用git push origin 本地分支名可以将分支push到远程仓库中

比如 git push origin develop

利用git push origin :远程分支名 删除远程仓库分支名

比如 git push origin :develop