Git 的分支,其实本质上仅仅是指向提交对象的可变指针,Git的默认分支名字是 master。在多次提交操作之后,你其实已经有一个指向最后那个提交对象的 master 分支。 它会在每次的提交操作中自动向前移动。Git 的 “master” 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它的。
以下我就分别把平时我用过的这3个命令Branch、checkout、switch分别详解一下。
1、 git中的Branch用于创建分支、删除分支、查看分支、重命名分支、创建本地跟踪分支并从远程分支拉取代码、建立当前分支与指定远程分支的追踪关系。
git branch 分支名:创建分支。
git branch:查看本地分支,当前分支前面会标一个*号。
git branch -r:查看远程分支。
git branch -d 分支名:参数为d强制删除分支。
2、 checkout用于切换分支或者用来恢复工作区文件。
git checkout dev 切换到dev分支
3、switch命令是用来接替checkout的功能,但switch不能切换到commit id
git switch a # 切换到 a分支 git switch -c b # 创建b,然后切换到b分支。
git branch、git switch、git checkout的作用。
git branch、创建分支、删除分支、查看分支、重命名分支、创建本地跟踪分支并从远程分支拉取代码、建立当前分支与指定远程分支的追踪关系。
git switch 、切换分支、创建+切换分支、创建本地跟踪分支并从远程分支拉取代码。
git checkout 切换分支、创建+切换分支、创建本地跟踪分支并从远程分支拉取代码。
注:由表可见git switch和git checkout在分支操作方面的用处完全一样。那么可以在分支操作上尽量光用git branch和git switch。因为git checkout除了可以操作分支,它还可以操作文件。这条命令可以重写工作区,是一个很危险的命令。
分支的创建、删除、切换、查看、重命名、创建+切换
(1) 创建分支:git branch name创建叫name的分支,但仍然停留在当前分支。
(2) 删除分支:git branch -d :参数为-d则为强制删除,git push origin --delete :删除远程仓库的叫name的分支,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支,git branch -dr /:没有删除远程分支,只是删除 git branch -r 列表中的追踪分支。一般只有git push命令可以修改远程仓库。
(3) 切换分支:git switch 或者git checkout 。
(4) 查看分支:git branch :查看本地分支,当前分支前面会标一个*号,git branch -r:查看远程分支,git branch -a查看本地分支和远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话),git branch -vv:查看本地分支对应的远程分支。
(5) 创建和切换分支: git switch -c git checkout -b 这两条命令是一个意思:如果分支存在则只切换分支。不存在则创建叫name的分支,然后切换到该分支。相当于两条命令:git branch ,git checkout
(6) 重命名分支:git branch -m oldName new Name。