跳到主要内容

git checkout 命令

git checkout 命令用于切换分支或恢复工作区的文件内容。在旧版本 Git 中,它是一个多用途命令,既可以切换分支,也可以检出特定版本的文件。但从 Git 2.23 起,官方推荐将其功能拆分为更明确的命令:git switch(用于切换分支)和 git restore(用于恢复文件),不过 git checkout 仍然是完全有效的命令。

命令语法

git checkout [选项] <分支名>

切换到某个提交的指定文件内容:

git checkout [提交或分支] -- <路径>

常用选项参数

  • -b <新分支名>:在切换分支前创建一个新分支。
  • --track:与远程分支建立追踪关系。
  • --:分隔路径和提交名,避免混淆。

使用示例

切换到已有分支 dev

git checkout dev

新建并切换到分支 feature/login

git checkout -b feature/login

切换到上一个分支:

git checkout -

恢复 README.md 文件到最新提交版本(撤销对该文件的修改):

git checkout -- README.md

恢复某个提交时的某个文件版本(不切换分支,仅替换文件内容):

git checkout abc123 -- src/config.js

将远程分支 origin/dev 检出为本地分支 dev 并建立追踪关系:

git checkout --track origin/dev

小贴士

  • 从 Git 2.23 起,如果你只是切换分支,可以使用 git switch;如果只是恢复文件,可以使用 git restore。但 git checkout 依然是常用的经典命令。

  • 使用 git checkout -- <文件> 可以撤销对文件的修改,但无法恢复删除文件的操作。如果文件被删除了,可使用 git restore 更方便地还原。

  • 如果路径名可能与分支或提交 ID 冲突,请使用 -- 显式分隔,例如:

    git checkout main -- README.md
知心 MBTI 微信小程序
「知心MBTI」微信小程序,探索你的 MBTI 人格类型,发现潜能。微信扫码免费测试 🎉