美文网首页
Git详细教程(十一)分支管理-创建与合并分支

Git详细教程(十一)分支管理-创建与合并分支

作者: 无关风月oo | 来源:发表于2018-01-19 00:04 被阅读0次

分支管理

其他版本控制系统如SVN等都有分支管理,使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。但是用过之后你会发现,这些版本控制系统创建和切换分支比蜗牛还慢,简直让人无法忍受,结果分支功能成了摆设,大家都不去用。

但Git的分支是与众不同的,无论创建、切换和删除分支,Git都能在瞬间完成。这得益于Git的设计原理十分巧妙,对于这一系列的操作而言,它只需要修改一下指针就能完成。这个我在另一系列教程-《Git机制解析》有详细解读,相信你理解之后会对Git的管理模式更清晰。

创建分支

创建分支前我们先使用git branch查看一下当前拥有的分支:

$ git branch
* master

结果显示我们当前只有一个master分支,这是我们最初在执行git init的时候Git 为我们创建默认的分支。前面的 *号代表了当前所指向的分支,也就是此处的HEAD:

image.png

在创建新的分之前我们先来看一下当前master分支中的内容:

$ ls
readme.txt
$ cat readme.txt
无关风月oo

现在我们来新建一个dev(即开发)分支并且切换到该分支:

$ git checkout -b dev
Switched to a new branch 'dev'

此处带上 -b 就相当于:

$ git branch dev  //创建分支
$ git checkout dev  //切换分支
Switched to branch 'dev'

然后我们再来查看一下当前的分支情况:

$ git branch
* dev
  master

结果显示现在有masterdev两个分支,* 号标记了当前所处的分支为 dev

然后我们来编辑并查看readme.txt:

$ cat readme.txt 
无关风月oo
分支测试

然后添加到stagecommit到版本库中:

$ git add readme.txt 
$ git commit -m 'add branch test'  
[master 6713cc6] add branch test
 1 file changed, 1 insertion(+)

接下来我们在切回到master分支上并查看刚刚修改的readme.txt文件:

$ git checkout master
Switched to branch 'master'
$ cat readme.txt 
无关风月oo

此时发现修改的内容不见了,还是原来的内容。这是怎么回事呢?
其实那是因为我们的修改与提交都是在dev上操作的,对master没有任何影响。当我们再切换回去的时候只是将HEAD指向master, dev还是呆在那。也就是干了这么件事情:

image.png

合并分支

现在,我们把dev分支的工作成果合并到master分支上:

$ git merge dev
Updating d17efd8..fec145a
Fast-forward
 readme.txt |    1 +
 1 file changed, 1 insertion(+)

git merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。

注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。

当然,也不是每次合并都能Fast-forward,我们后面会讲其他方式的合并。

合并完成后,就可以放心地删除dev分支了:

$ git branch -d dev
Deleted branch dev (was fec145a).

删除后,查看branch,就只剩下master分支了:

$ git branch
* master

因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

小结:

1.git branch查看分支。
2.git branch dev创建dev分支。
3.git checkout dev切换到dev分支。
4.git checkout -b dev创建并切换到dev分支。
5.git merge devdev分支合并到当前(master)分支。
6.git branch -d dev删除dev分支。

相关文章

  • Git笔记

    Git教程 Git简介 安装Git 创建版本库 版本控制 远程仓库 分支管理 创建与合并分支 简单的命令 查看分支...

  • Git详细教程(十一)分支管理-创建与合并分支

    分支管理 其他版本控制系统如SVN等都有分支管理,使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时...

  • Git分支管理

    创建与合并分支 git branch 分支007 -----创建分支007 git checkout 分支007 ...

  • Git 分支管理

    Git鼓励大量使用分支: 创建与合并分支 :查看分支:git branch创建分支:git branch

  • git创建分支与合并分支(本地)

    git创建分支与合并分支(本地) 本地创建分支 切换分支 删除本地分支 $ git branch -d [name...

  • Git 经验分享(公司开发常用git命令) 2020.04.10

    Git 经验分享 一、 创建与合并分支 从master分支创建dev分支并切换到dev分支 分支合并(将dev合并...

  • git基础(三)-创建与合并分支

    本文为利用Git创建与合并分支测试记录。CSDN同步发布1、创建与合并分支命令如下: 查看分支:git branc...

  • Git 分支

    创建分支 git branch <分支名> 切换分支 git checkout <分支名> 创建同时切换分支(合并...

  • git 学习笔记4

    创建与合并分支 master 主分支HEAD 当前分支 分支冲突 git merge后发现分支冲突;git sta...

  • git 总结

    Git 总结 一、创建与合并分支 1、从master分支创建dev分支并切换到dev分支 其中,git check...

网友评论

      本文标题:Git详细教程(十一)分支管理-创建与合并分支

      本文链接:https://www.haomeiwen.com/subject/qdigoxtx.html