一、创建与合并分支
之前我们学习版本回退的时候(版本回退),每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。只是这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
下面我们开始创建分支,然后切换到dev分支: 打开终端 进入到git本地仓库
用到的命令
查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <分支名> 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而不加--no-ff合并就看不出来曾经做过合并。例git merge --no-ff -m "详细解释" 分支 删除分支:git branch -d <name> 查看分支合并图: git log --graph
下面详解
1 、输入 git checkout -b dev
看到这里我们可能想到 -----> 之前我们已经学习了git checkout 的另一种修改撤销,了解点击 (git checkout – 文件名)
如图 创建了一个名字为 dev的分支 -b 参数表示创建并切换;
分解 git checkout -b dev 就相当于 git branch dev 加上 git checkout dev;
2 git branch
查看下在那个分支上
如图 我们现在已经在dev分支上了,现在我们就可以操作dev分支了。
3 操作分支dev
在ViewController 中 加入 NSLog(@"++++++++"); 然后提交
这样我们dev分支的工作完成,然后就可以切换回master分支:
git checkout master
切换到了 master分支了
并且之前在分支dev上面的添加的代码 也不见了
把dev分支的合并到master分支上:
git merge dev
git merge命令用于合并指定分支到当前分支。合并后,可以看到,和dev分支的最新提交是完全一样的。
合并完成后,就可以删除dev分支了:
git branch -d dev
Deleted branch dev (was c1a14a7).
删除后,查看branch,就只剩下master分支了:
git branch
只剩下master了