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

1. 初始状态分析

  • 当前分支main 分支(main* 表示当前所在分支),指向 c5
  • 提交历史:线性结构 c0 → c1 → c2 → c3 → c4 → c5,另有标签 overHere 指向 c1
  • 目标结构:
    • 需对 main 分支执行交互式变基,保留 c3'c5'c4' 提交(' 表示调整后的新提交);
    • 最终 main 分支基于 overHerec1)重新排列提交,形成 c0 → c1 → c3' → c5' → c4'

2. 核心概念:交互式变基(git rebase -i

  • 作用:在变基过程中,手动编辑提交历史(如删除、合并、重排、修改提交说明),让历史更简洁或符合规范。
  • 流程:
    1. 执行 git rebase -i <目标提交>,进入交互界面。
    2. 通过编辑指令(pick/reword/squash/drop 等)调整提交。(沙盒中通过鼠标拖动调整顺序,点击删除)
    3. 保存退出后,Git 按指令重写提交历史。

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

阶段 1:启动交互式变基

目标是将 main 分支的提交 “重新嫁接” 到 overHerec1),所以选择 c1 作为变基目标。

执行命令:

bash

 git rebase -i HEAD~4
  • 作用:
    • Git 会列出(c2c3c4c5)。

点击删除c2,拖动调整顺序c3->c5->c6

阶段 4:完成变基,匹配目标结构

执行完交互式变基后,main 分支的提交历史会变为: c0 → c1 → c3' → c5' → c4'

此时,main 分支结构与右侧目标完全匹配,关卡自动通关。

简单说,这关的核心是 “用 git rebase -i 手动编辑提交历史”,掌握交互式变基的指令,实现提交的删除、重排,让分支历史更简洁规范 。

文末附加内容
暂无评论

发送评论 编辑评论


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