Git-创建与合并分支

在版本回退那里,我们通过Git可视化工具SourceTree查看到每次提交一个版本,Git都会把他们串成一条时间线,这条时间线就是一个分支,如图所示:

当把上面的所有分支更改为当前分支,看一下效果图:

可以看到两者的效果图是一样的,所以截止到目前为止只有一条时间线,在Git里面,这个分支叫做主分支(master),也就是master分支
另外HEAD指向的是当前分支,所以是HEAD指向master,mater指向提交,每提交一次master分支就会向前移动一步,随着不断都提交,master分支的线也会越来越长,如图所示(图片来自廖雪峰官网):

我们开始去创建新的分支,比如创建新的分支dev,相当于Git创建了一个新的指针叫dev,并且指向master的相同提交,再把HEAD指向dev,则就表示当前分支为dev,如图所示(图片来自廖雪峰官网):

从现在开始对于工作区文件的修改和提交就是在dev分支上完成的,比如说我们执行了一次新的提交,按照我们上面说的,则dev分支就会向前移动一步,因为当前分支已经不是master了,所以master分支就会提留在最后一次的提交点不动,如图所示(图片来自廖雪峰官网):

那如果在dev分支上的操作完成了,如何将master分支和dev分支进行合并?其实就是直接把master指向dev的提交,这样就是完成了合并:

下面开始直接实战操作:
首先创建新分支dev,然后将当前分支切换到dev:
git checkout -b dev

git checkout 后面添加了一个-b的参数,表示创建新的分支并且切换分支,相当于:
git branch dev 创建dev分支
git checkout dev  切换分支

然后查看当前分支:
git branch

git branch 会将所有的分支列出来,并且使用*(星号)注明当前分支
现在我们就在当前分支(dev)上进行提交操作,开始对readme.txt文件进行修改操作,还是老样子我们在readme.txt文件中添加一行:
Creating a new branch is quick.

现在在dev分支上的提交操作已经完成,我们再次切换分支到master:
git checkout master

我们来打开readme.txt文件打开,会发现一个比较神奇的事情:

刚刚添加的那一行不见了?这是怎么回事?
因为我们刚刚的那个提交操作是在dev分支上完成的,而master分支上的此刻提交点并没有变

ok,现在我们把在dev分支上面的成果和master分支进行合并:
git merge dev

git merge命令用于合并指定分支到当前分支,ok,现在合并操作也已经完成了,我们再来看一下readme.txt中的内容:

和在dev分支上的最新提交一模一样的

那么我们如何删除掉dev分支呢?
git branch -d dev

总结:
查看分支:git branch
创建分支: git branch 分支名
切换分支: git checkout 分支名
创建并切换分支: git checkout -b 分支名
合并指定分支到当前分支: git merge 分支名
删除分支: git branch -d 分支名 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值