1. 前言
git checkout 命令用于创建、切换分支或恢复工作树文件。
最常用的两种用法
# 切换分支
git checkout <branch>
# 创建并切换到新分支
git checkout -b <branch>
2. 创建分支
当我们需要以当前分支为起点创建一个新的分支时,主要会用到以下两个命令
# 创建分支
git branch <branch>
# 切换到新分支
git checkout <branch>
-b
创建并切换到新分支 (上面两个命令的合集)
git checkout -b <branch>
-B
重置分支(删除已存在的分支且重新创建,分支不存在也不会报错)
git checkout -B <branch>
基于远程库分支创建分支
# 语法格式
git checkout -b <new-branch> origin/<old-branch>
# 使用示例: 以远程库中的 liang 分支为起点,在本地创建一个 dev 分支
git checkout -b dev origin/liang
基于指定标签创建分支
# 切换到标签对应的提交记录
git checkout <tagname>
# 创建并切换到新分支
git checkout -b <branch>
基于指定 commit id 创建分支
# 切换到指定提交记录
git checkout <commit id>
# 创建并切换到新分支
git checkout -b <branch>
3. 切换分支
使用 checkout 切换分支时,先从本地库查找分支,在本地库没找到时,就去远程库中查找,在远程库也没有找到就会报错
# 切换分支
git checkout <branch>
# 查找顺序
本地分支 --> 远程分支 --> 提示分支不存在

切换分支后的提示信息
当我们切换到 master 分支后,出现这个提示说明: 本地分支和上游分支的最新提交记录是同一个
# 您的分支 “origin/master” 是最新的
Your branch is up to date with 'origin/master'.
将一个远程仓库中的分支 liang 签出到本地时的提示
# 本地库中的分支 liang 的上游分支是远程仓库中的分支 liang
Branch 'liang' set up to track remote branch 'liang' from 'origin'.
# 切换到了一个新的分支 liang
Switched to a new branch 'liang'
当本地库有了新的提交记录
# 本地分支比远程分支多了一次提交记录