[TOC] #### 1. 前言 ---- checkout 命令具有 `分支的管理` 和 `文件的恢復` 兩個核心功能,功能較多、不夠準確。在 git 2.23 版本中新增了 switch 和 restore命令,用于替代 checkout 命令,進而分化 checkout 命令的職責。換言之,checkout 將逐漸退出歷史舞臺 這個命令是 2020 年新增的,但到目前為止(2022-09),身邊的人還都是使用 checkout 命令進行分支的創(chuàng)建和切換 git 社區(qū)決定這樣做,是因為目前 checkout 命令承載了太多的功能,這讓新手們感到困惑,checkout 的兩個核心功能: 分支管理和文件恢復,未來將分別由 switch 和 restore 負責。本文記錄 switch 命令的用法 對于 checkout 命令熟悉者,上手 switch 命令毫無難度,參考命令幫助可無縫銜接 而我會給常用的命令定義別名,對于我來說,即使未來的某一天 checkout 徹底廢棄了,我只需要修改定義別名的地方即可 ``` # 命令 git checkout # 別名 go ``` #### 2. switch 創(chuàng)建分支 ---- switch 創(chuàng)建分支使用參數 `-c, --create`,而 checkout 使用的是 `-b` ``` git switch -c <branch> git checkout -b <branch> ``` switch 強制創(chuàng)建分支使用參數 `-C, --force-create`,而 checkout 使用的是 `-B`【強制創(chuàng)建適用于分支已存在的情況】 ``` git switch -C <branch> git checkout -B <branch> ``` 以指定提交記錄創(chuàng)建分支 ``` git switch -c <branch> <commit id> ``` #### 3. switch 切換分支 ---- switch 切換分支和 checkout 切換分支語法格式相同 ``` git switch <branch> git checkout <branch> ```