git教程-分支功能01

121 阅读2分钟

「这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战

Git 分支

# 列出所有本地分支
git branch
​
# 列出所有远程分支
git branch -r
​
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]# 新建一个分支,并切换到该分支
git checkout -b [branch]# 合并指定分支到当前分支
$ git merge [branch]# 删除分支
$ git branch -d [branch-name]# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:

image.png

1.创建分支

当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

除了将HEAD指向分支dev,没有修改复制任何内容

image.png

//创建分支
$ git branch 分支名
$ git branch dev
​
//创建并切换到该分支
//git checkout命令加上-b参数表示创建并切换
$ git checkout -b dev
​
//创建并切换到新的分支
$ git switch -c 分支名

蓝色括号的代表现在的分支

image.png

不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:

image.png

如果要在远程仓库创建新分支们可以在本地创建一个分支,然后再在远程创建同名分支。

2.显示所有分支

$ git branch

× 代表目前所在的分支

image.png

3.切换分支

切换到新的分支,文件的内容不会分享,而是只显示切换到的分支提交保存的内容,每个分支独享自己的仓库

$ git checkout 分支名
$ git checkout dev
​
​
//切换分支
$ git switch 分支名