结论
查看分支
git branch
创建分支
git branch <name>
切换分支
git checkout <name>
git switch <name>
# switch是2.23版本新增命令
创建并切换到该分支
git checkout -b <name>
git switch -c <name>
合并指定分支到当前分支
git merge <name>
删除本地已合并分支
git branch -d <name>
删除远程分支
git push <远程仓库名> --delete <远程分支名>
推送本地分支到远程仓库并在远程仓库创建新分支
git push <远程仓库名> <本地分支名>:<远程分支名>
说明
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
所以创建分支、切换分支、删除分支只是对相对应的指针进行操作,所以速度才会非常快。
switch
我们注意到切换分支使用git checkout <branch>
,而前面讲过的撤销修改则是git checkout — <file>
,同一个命令,有两种作用,确实有点令人迷惑。
实际上,切换分支这个动作,用switch
更科学。因此,最新版本的Git提供了新的git switch命令来切换分支,使用新的git switch命令,比git checkout要更容易理解。
git: ‘switch’ is not a git command.
找不到switch
命令是因为这个命令是2.23
版本发布的,在此之前的版本都没有,需要升级到最新版
首先,查看当前版本,执行:
git --version
2.17.1版本之前,升级命令:
git update
2.17.1之后的版本,升级命令:
git update-git-for-windows