高级篇–第二关
本文最后更新于47 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

1. 初始状态分析

  • 当前分支bugFix 分支(bugFix* 表示当前所在分支),main 指向 c2bugFix 指向 c4
  • 提交历史c0 → c1 分叉为 mainc2)和 bugFixc3 → c4)。
  • 目标结构:
    • HEAD需指向c3`(通过相对引用移动);
    • bugFix 分支仍指向 c4main 指向 c2 不变。

2. 核心概念:相对引用(^ 符号)

  • 作用:通过^表示 “父提交”,快速移动HEAD或分支指针。
    • HEAD^:指向当前 HEAD父提交(上一个提交)。
  • 扩展:
    • 使用 ~<num> 向上移动多个提交记录,如 ~3

3. 通关步骤(分阶段执行)

阶段 1:用 ^ 移动 HEADc3

当前 HEAD 依附于 bugFix 分支(指向 c4),需要让 HEAD 移动到 c3c4 的父提交)。

执行命令:

bash

 git checkout HEAD^
  • 作用:
    • HEADc4 移动到父提交 c3(进入分离状态,界面显示 HEAD* 指向 c3)。

阶段 2:验证结构匹配

执行 git checkout HEAD^ 后:

  • HEAD 指向 c3(分离状态);
  • bugFix 分支仍指向 c4main 指向 c2
  • 提交结构与右侧目标完全匹配(HEADc3bugFixc4mainc2),关卡自动通关。

4. 关键知识点延伸

  • 相对引用的灵活用法:
    • 使用 ^ 向上移动 1 个提交记录。
    • 结合 ~ 语法:HEAD~3 表示 “向上移动 3 个父提交”。
  • 实际开发场景:
    • 快速回退到上一个提交测试:git checkout HEAD^
    • 调整分支指针(如修复分支历史时):git branch bugFix HEAD^

简单说,这关的核心是 “用 ^ 相对引用移动 HEAD,理解 Git 中通过符号快速定位父提交的技巧,掌握轻量级的指针移动方式 。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇