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

1. 初始状态分析

  • 当前分支main 分支(main* 表示当前所在分支)
  • 提交历史:只有 2 个基础提交 c0c1(左侧蓝色区域)
  • 目标结构:
    • 需要创建 bugFix 分支,在 bugFix 上提交 c2
    • 切回 main 分支提交 c3c4
    • 最后合并 bugFixmain,形成 c1 分叉后合并的结构(右侧粉色区域)

2. 核心命令与逻辑

  • git branch <分支名>:创建新分支(基于当前 HEAD)。
  • git checkout <分支名>:切换分支(移动 HEAD 指针)。
  • git commit:提交代码,延伸当前分支的提交历史。
  • git merge <分支名>:合并指定分支到当前分支(关键操作,用于整合分叉的提交)。

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

阶段 1:创建 bugFix 分支并提交

  1. 创建 bugFix 分支:bash git branch bugFix
    • 作用:基于当前 main 分支的 c1,创建新分支 bugFix(此时 mainbugFix 都指向 c1)。
  2. 切换到 bugFix 分支:bash git checkout bugFix
    • 作用:让 HEAD 指针移动到 bugFix 分支,后续提交会延伸 bugFix 的历史。
    (快捷创建并切换:git checkout -b <分支名>(等价于 git branch <分支名> + git checkout <分支名>)。
  3. bugFix 上提交 c2: 关卡默认模拟 “有修改待提交”,直接执行:bash git commit
    • 作用:bugFix 分支向前延伸,新增提交 c2(结构:c0 → c1 → c2bugFix* 指向 c2)。

阶段 2:切回 main 分支并提交

  1. 切换回 main 分支:bash git checkout main
    • 作用:HEAD 指针切回 main 分支(此时 main 仍指向 c1)。
  2. main 上提交 c3: 执行:bash git commit
    • 作用:main 分支向前延伸,新增提交 c3(结构:c0 → c1 → c3main* 指向 c3)。
  3. main 上继续提交 c4: 再次执行:bash git commit
    • 作用:main 分支继续延伸,新增提交 c4(结构:c0 → c1 → c3 → c4main* 指向 c4)。

阶段 3:合并 bugFixmain

  1. 合并 bugFix 分支到 main:确保当前在 main 分支(已通过git checkout main切换),执行:bash git merge bugFix
    • 作用:将 bugFix 分支的提交(c2)合并到 main 分支。由于 mainbugFix 是 “分叉后合并” 的关系,Git 会创建一个合并提交(自动生成新节点,如 c4,最终形成目标中的分叉合并结构:c1分叉为c2bugFix)和 c3 main),再合并到c4 main`。

4. 完成验证

执行完上述步骤后,左侧分支结构会与右侧目标完全匹配:

  • c0 → c1 分叉为 bugFix 分支(c2)和 main 分支(c3 );
  • main 分支合并 bugFix 后,形成整合的提交链,关卡自动通关。

5. 关键知识点延伸

  • 合并的两种场景:
    • “快进合并”:如果合并的分支是当前分支的直接延伸(无分叉),Git 会直接移动指针(如 main 合并一个未分叉的 bugFix)。
    • “三方合并”:如果分支有分叉(如本关卡),Git 会创建一个新的合并提交,同时保留两个分支的历史。
  • 实际开发意义:合并用于整合不同分支的工作(如功能开发分支合并到主分支),git merge 是团队协作中整合代码的核心操作。
文末附加内容
暂无评论

发送评论 编辑评论


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