文档章节

Git使用详细教程(8):Git分支

o
 osc_gu9d45li
发布于 2019/04/06 12:25
字数 948
阅读 0
收藏 0
git

精选30+云产品,助力企业轻松上云!>>>

[TOC]

创建分支

当我们使用git init projectName命令的时候,Git就会默认帮我们创建一个分支,名字叫做master。

我们还可以创建其它分支,使用git branch new_branch(新分支名称)

如果我们想在创建新分支的同时,并切换到新建的分支,需要加上额外的参数-b,使用git checkout -b new_branch(新分支名称),它等同于下面的两条命令

git branch new_branch
git checkout new_branch

查看分支

可以通过如下命令查看当前所处分支

git branch

切换分支

当我们从一个分支切换到另一个分支,可以使用如下命令

git checkout another_branch(另一个分支)

例如,从master切换到dev分支

删除分支

删除分支命令

git branch -d de_branch(待删除分支名)
git branch -D de_branch(待删除分支名)

-d-D有啥区别呢,如果你想删除的分支的内容已经合并到主分支了,那么使用-d即可,如果你在新分支上写了东西,但是并没有合并到主分支,你还想把它删除,你就得使用-D,Git这样做是为了保险起见,怕你忘了合并就删除了,但是如果你确实是想还没合并就删除了就可以使用-D

下图中,我再bug567分支做了一次提交操作,但是并没有合并到其它分支,在使用git branch -d bug567时,提示dev分支并没有合并,如果确实想删除它,可以使用git branch -D bug567

注意,我们不能删除我们当前所处的分支,什么意思呢?如果我们当前处于dev分支,我们通过git branch -d dev是无法删除dev分支的,需要先切换到其它分支,再去删除这个dev分支,因为如果你当前处于dev分支,你还把它给删除了,那么你当前该处于什么分支呢?这是不合理的,所以Git也不允许

分支合并

当我们在一个分支上写好代码后需要把代码合并到主分支,这里需要用到git merge命令,下图给出了示例,dev分支里index.txt有两行文字,而master分支index.txt里只有一行,这里吧dev分支的内容和master分支的内容合并,先切换到master分支,然后执行如下面命令

git merge dev

git branch -v

显示当前所处分支,最新的一条提交消息

探寻分支本质

分支

下图是一个分支上由commit id组成的记录线

HEAD保存在哪里呢?

上面图中的这种也叫做fast-forward,快进,这是在没有冲突的情况下,从某一个提交直接跳转到最新的一个提交上。

如果有冲突的话,我们需要在主分支把冲突解决,然后再commit。此时如果我们切换到dev分支,再执行git merge master时,也不会冲突了,而是fast-forward,此时我们再查看dev分支最新的commit id会发现和刚刚在主分支最新的commit id一样,dev分支只是采用了fast-forward方式更新了commit id,道理很简单,因为在master我们解决冲突后做了提交, master已经往前走了一步了,然后我们把往前走了一步的master再往回合并的话,此时实际上dev分支已经落后于master,git会认为这是一个快进,所以直接有指向dev的指针直接指向下一个master所指向的最新commit,直接就跳过去了。

下图这种方式,即使没有冲突,也会产生一个新的commmit id

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
git入门教程

1.安装:略 2.设置用户名和Email地址 git config --global user.name "your name" git config --global user.email "email@xxxxx.com" 3.创建版本库(工作区) 在你需要建立版本库的文件夹执......

江渡cc
2015/04/19
22
0
【转】Git使用详细教程

一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 二:SVN与...

神奇的旋风
03/22
0
0
Git分支管理策略

如果你已经看完了 Git详细教程(一) Git详细教程(二) Git详细教程(三) 三篇简单的Git教程,相信你对Git有了一个很不错的了解,并且能基本上使用Git了。 相比同类软件,Git有很多优点。其...

my_杨哥
2017/12/27
0
0
-使用git和github管理自己的项目---基础操作学习

我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉git和github的使用。 除了廖雪峰的教程,还比较推荐在看完廖雪峰的教程之后,再看...

丁佳辉
2016/08/18
31
0
【ZZ】TryGit 教程

无意间在网上看到了TryGit的Git教程,一直想学Git,但又一直没有开这个头,开饭前的花了15分钟的时间,把TryGit里的教程过了一下,大致流程如下(注意,这个教程中会涉及向github push 版本信...

学徒1986
2013/08/30
409
0

没有更多内容

加载失败,请刷新页面

加载更多

我们一定会在人生的更高处相见的

2020.6.7 我知道没人会看到 2021.6.7 我再来写下 每天进步一点点 一年后我就是不一样的我 你也是。 高考加油!

osc_9oidllr2
13分钟前
7
0
esp8266物联网开发一:MicroPython初战江湖

用esp8266做的物联网开发,涉及到固件烧写,固件擦除,代码编写等方面,做一一记录。 1. 固件烧写 首先,下载固件烧写工具:https://www.espressif.com/sites/default/files/tools/flash_dow...

osc_s2b5kacl
14分钟前
14
0
获小黄衫有感

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020SpringW/ 一、与软工的开始 在选课的时候咨询学长意见,听上届学长说这门课会有寒假作业,心里很忐忑,又抱有侥幸心理——可能...

osc_r5t7sskd
15分钟前
9
0
ppt 视频不显示控制条

1 正常解决方法 2 如果还不能显示可能是ppt是兼容模式,另存为非兼容模式就好了 后缀是.ppt 现存就好了

osc_hzf6peqc
16分钟前
15
0
五笔经常打不出来的字:温故而知新

遍 ynmp 凸凹 hgmm 凸 hgm 凹mmgd

osc_iy56i6w3
18分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部