全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-11 6 分钟 ✍️ juanwangdev

git checkout 切换与恢复

git checkout 用于切换分支、创建分支和恢复文件,功能丰富。

切换分支

Bash
# 切换到已存在的分支
git checkout <branch>

# 切换到 main 分支
git checkout main

# 切换到上一个分支
git checkout -

创建并切换分支

Bash
# 创建新分支并切换
git checkout -b <new-branch>

# 基于指定提交创建分支
git checkout -b <new-branch> <commit>

# 基于远程分支创建
git checkout -b <new-branch> origin/<branch>

恢复文件

Bash
# 恢复工作区文件(丢弃未暂存的修改)
git checkout -- <file>
git checkout HEAD -- <file>

# 从指定提交恢复文件
git checkout <commit> -- <file>

# 恢复所有文件
git checkout -- .

分离 HEAD 状态

Bash
# 切换到指定提交(游离状态)
git checkout <commit>

# 切换到标签
git checkout <tag>

# 游离状态下修改需创建分支保存
git checkout -b <new-branch>

新命令替代(推荐)

Git 2.23+ 推荐使用新命令:

旧命令新命令用途
git checkoutgit switch切换分支
git checkout -bgit switch -c创建并切换
git checkout --git restore恢复文件

常用场景

Bash
# 切换分支
git checkout feature/login

# 创建并切换
git checkout -b feature/new

# 丢弃工作区修改
git checkout -- config.yaml

# 从另一分支恢复文件
git checkout main -- README.md

checkout 命令功能多易混淆,建议分支操作用 switch,恢复文件用 restore。

要点总结

  1. git checkout <branch> 切换分支
  2. git checkout -b <branch> 创建并切换分支
  3. git checkout -- <file> 恢复文件到上次提交状态
  4. git checkout - 切换到上一个分支
  5. Git 2.23+ 建议用 switch/restore 替代

📝 发现内容有误?点击此处直接编辑

← 上一篇 git add 添加文件
下一篇 → git clean 清理未跟踪文件
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库