成为git砖家(9): git checkout <commit> <file> 的含义
创始人
2024-11-12 12:37:44

文章目录

    • 1. 目的
    • 2. 官方文档解释
    • 3. Tower 的解释
    • 4. References

1. 目的

git checkout 命令承载了非常多的功能, 想要一次全弄懂,不太现实; 这次白鱼带领大家学习 git checkout 的用法。

老规矩,先查看 git checkout 的文档 :

git help checkout --web 

2. 官方文档解释

在这里插入图片描述
官方文档的解释很全面,但是也显得很罗嗦,我们先忽略 -f | --outrs | --theirs 等选项, 只关注 git checkout [] 这个简单的模式:

  • []: 方括号 [] 表示说这是一个可选字段, -ish 意思是“像…一样”, tree-ish 意思是树状的,通常是一个 commit, 但是显然也可以是 HEAD, 或分支名字, 或 tag 名字。
  • 意思是路径

解释:

  1. -- 是可以省略的
  2. 当没有传入 时, 也就是 git checkout 这个模式下,是从 index(也就是 stage 区域)作为源,替换掉 working area 的内容。(绿色框)
  3. 当传入 时, 也就是 git checkout 这个模式下,是从 取得每个文件的内容, 并且替换掉 index(也就是 stage 区域)和 working area 的内容。例如:
  • git checkout HEAD : 回滚 working area 和 staging area 到当前分支最后一次 commit
  • git checkout b325c : 回滚 working area 和 staging area 到 b325c 这次 commit

在这里插入图片描述

3. Tower 的解释

在这里插入图片描述

Another use case for “checkout” is when you want to restore an old revision of a file:

git checkout 8a7b201 index.html 

If you specify “HEAD” as the revision, you will restore the last committed version of the file, effectively undoing any local changes that you current have in that file:

git checkout HEAD index.html 

4. References

  • https://marklodato.github.io/visual-git-guide/index-zh-cn.html
  • https://www.git-tower.com/learn/git/commands/git-checkout/

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...