结论

查看分支

  1. git branch

创建分支

  1. git branch <name>

切换分支

  1. git checkout <name>
  2. git switch <name>
  3. # switch是2.23版本新增命令

创建并切换到该分支

  1. git checkout -b <name>
  2. git switch -c <name>

合并指定分支到当前分支

  1. git merge <name>

删除本地已合并分支

  1. git branch -d <name>

删除远程分支

  1. git push <远程仓库名> --delete <远程分支名>

推送本地分支到远程仓库并在远程仓库创建新分支

  1. 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版本发布的,在此之前的版本都没有,需要升级到最新版

首先,查看当前版本,执行:

  1. git --version

2.17.1版本之前,升级命令:

  1. git update

2.17.1之后的版本,升级命令:

  1. git update-git-for-windows