手机网站建设怎样婚庆公司网站建设
git checkout 是 Git 中最常用的命令之一,主要用于切换分支和恢复文件。以下是核心功能的详细说明:
1. 切换分支
git checkout <branch-name> 
- 切换到已存在的本地分支
 - 示例:
git checkout develop 
git checkout -b <new-branch> 
- 创建并切换到新分支(相当于 
git branch <new-branch>+git checkout <new-branch>) - 示例:
git checkout -b feature/login 
git checkout --track origin/<remote-branch> 
- 创建本地分支并跟踪远程分支
 - 示例:
git checkout --track origin/main 
2. 恢复文件
git checkout -- <file-path> 
- 丢弃工作区的修改(未 
git add的改动) - 危险操作!不可撤销
 - 示例:
git checkout -- src/index.js 
git checkout <commit-id> -- <file-path> 
- 从指定提交恢复文件到暂存区和工作区
 - 示例:
git checkout a1b2c3d -- README.md 
3. 分离头指针模式
git checkout <commit-id> 
- 进入分离头指针状态(不关联分支)
 - 查看历史提交的内容(只读模式)
 - 示例:
git checkout HEAD~2 
4. 切换标签
git checkout <tag-name> 
- 切换到标签指向的提交(同样进入分离头指针状态)
 - 示例:
git checkout v1.0.0 
5. 特殊语法
git checkout -p 
- 交互式选择要恢复的代码块(类似 
git add -p的反向操作) 
git checkout @{-1} 
- 快速切换回上一个分支
 - 示例:从 
feature/login返回main:git checkout @{-1} 
⚠️ 注意事项
- 未提交的修改:切换分支时如果有未提交的修改,Git 会阻止切换(除非使用 
-f强制) - 分离头指针警告:在此状态下提交的更改不会属于任何分支,需要手动创建分支保存
 - 新版本替代命令(Git 2.23+): 
git switch:专门处理分支切换git restore:专门处理文件恢复
 
典型工作流示例
# 创建并切换到新分支 
git checkout -b fix/bug-123 # 修改文件后放弃更改 
git checkout -- src/utils.js# 切换回主分支 
git checkout main # 从历史提交恢复配置文件
git checkout 89a4cfe -- config.yml 
最佳实践:优先使用
git switch和git restore(Git 2.23+),语义更清晰且不易误操作。
