• 结论
  • 说明
    • switch
      • git: ‘switch’ is not a git command.

    结论

    查看分支

    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