Git教程:分支之创建与删除分支(二)

创建与删除分支

创建分支:git branch <name>,例如我们创建一个dev新分支::

$ git branch dev

没有任何提示,表明已经创建成功。

可以使用命令 git brach 查看当前仓库的所有分支:

$ git branch
  dev
* master

可以看到现在整个仓库有两个分支:devmaster, Git会使用 * 标记当前分支,所以现在是在主分支 master 分支上。

那么如何切换到dev 分支呢? 使用命令:git checkout <name> :

$ git checkout dev
Switched to branch 'dev'

此时Git告诉我们,已经成功切换到 dev 分支,再来查看一下当前所有分支:

$ git brach 
* dev
  master

可以看到,当前确实是在dev 分支(*标记)。

其实也可以一步实现创建新分支并切换到该分支,例如我们创建 feature 分支并切换到该分支:使用命令:git checkout -b <name>:

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

其实就是相当于上面的两条命令的合并:git branch devgit checkout dev

如果这个时候你已经不需要除了主分支之外的其他分支,即需要删除分支,使用命令:git branch -d <name>即可, 比如我们要删除 dev 分支, 然后再查看删除后仓库的分支:

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

$ git branch
* master

由上面的几行英文就可以知道 dev分支被删除,现在仓库只剩下了 master 分支。

在这里插入图片描述
现在假如你开始在新的分支上工作,正如我们之前所说,工作完成后怎样合并到主分支上呢? 现在给出解答:

比如现在在 dev 分支上修改了readme.txt文件,在末尾加上一句话:creat new branch and merge to master:

$ git checkout dev
Switched to branch 'dev'
...//为readme.txt添加一行

$ cat readme.txt
git is a version control tool
git is the most advaced version control system
i learn git now
i think git is better than SVN
creat new branch and merge to master

然后提交:

$ git add readme.txt
$ git commit -m 'test merge'
[dev d08d313] test merge
 1 file changed, 1 insertion(+)

这个时候我们切换到 master 分支查看 readme.txt 文件内容:

$ git checkout master
M	readme.txt
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

$ cat readme.txt
git is a version control tool
git is the most advaced version control system
i learn git now
i think git is better than SVN

发现这个时候 master 添加的一行内容并不存在,这是因为你刚才是在dev分支,而此刻的 master 并没有改变。

现在我们将dev分支上的修改合并到master 分支,在master 分支上使用命令: git merge dev

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

可以看到,Git告诉我们已经更新,使用的合并方式是 Fast-forward,然后再来看 master 分支下的 readme.txt的内容:

$ cat readme.txt
git is a version control tool
git is the most advaced version control system
i learn git now
i think git is better than SVN
creat new branch and merge to master

合并后,再查看readme.txt的内容,就可以看到,和 dev 分支的最新提交是完全一样的。


在这里插入图片描述

git switch

注意到:我们切换分支的时候是使用 : git checkout 命令,但是我们在撤销修改的时候也是用的这个命令,所以Git为了区分,新引出了一个 git switch 命令英语切换分支,效果和 git checkout是一样的:

切换分支:

$ git switch dev
Switched to branch 'dev'

创建并切换到该分支:

$ git switch -c feaature
git Switched to a new branch 'feature'
注意:新版本的才有git switch 命令,我的旧版本不存在这个命令,
	 所以我是在windows上较新的版本操作的,其实没有关系,只要
	 知道有 git switch 这回事就行,不能用就用 git checkout ,效果完全一样。

小结:

今天一共就学习了以下几个内容:

1)创建分支:git branch <name> ;

2)切换分支:git checkout <name> 或者是git switch <name>(旧版本没有);

3)创建并切换到该分支: git checkout -b <name> 或者是 git switch -c <name>(旧版本没有);

4)删除分支:git branch -d <name>;

5)合并分支:git merge <name>;




参考:

【1】廖雪峰:Git教程

【2】简书:Git创建和删除分支

发布了33 篇原创文章 · 获赞 23 · 访问量 2274

猜你喜欢

转载自blog.csdn.net/weixin_42119041/article/details/103437009