时空穿梭开发者

GitIntermediate
立即练习

介绍

想象你是一名正在开发时空机项目的开发者。突然,未来的你出现了,并警告你当前的代码库中存在一个致命漏洞!你需要迅速保存当前正在进行的工作,修复该漏洞,然后恢复之前的任务。这次挑战将测试你在这种高风险、跨时空的紧急场景下使用 Git stash 的技巧。

暂存、修复与恢复

初始状态

你当前位于 ~/project 目录。time-machine 目录是一个全新的 Git 仓库,包含以下文件:

  • main-console.txt(内容:「Bug: Temporal Flux Unstable」)
  • flux-capacitor.txt(内容:「Work in progress」)
  • new-feature.txt(内容:「Untracked feature」)

你可以使用 git status 命令来检查仓库的当前状态。

任务

  1. 暂存你当前的更改,包括任何未跟踪的文件。
  2. master 分支上修复「致命漏洞」,将 main-console.txt 的内容更新为「Fixed: Temporal Flux Stabilized」。
  3. 从你暂存的内容中创建一个名为 future-upgrades 的新分支。
  4. 确保 master 分支上的漏洞修复也同步到了 future-upgrades 分支中。

要求

  • 所有操作必须在 ~/project/time-machine 目录下执行。
  • 确保你原始的更改(包括已跟踪和未跟踪的文件)都出现在新分支中。
  • main-console.txt 中的漏洞修复必须同时存在于 masterfuture-upgrades 分支。

示例

完成挑战后,你的仓库应该如下所示:

master 分支上:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")

future-upgrades 分支上:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")  ## 包含来自 master 的漏洞修复
flux-capacitor.txt (content: "Work in progress")              ## 原始已跟踪的更改
new-feature.txt (content: "Untracked feature")                ## 原始未跟踪的文件

注意:为了达到这个状态,你需要确保两个分支都包含漏洞修复,同时在 future-upgrades 分支中保留你之前正在进行的开发进度。

总结

在这次挑战中,你在模拟的紧急场景下练习了 Git stash 的使用。你学习了如何快速保存正在进行的工作(包括未跟踪的文件)、切换上下文以修复关键问题,然后从暂存的更改中创建一个新分支。当意外任务出现时,这些技能对于维持流畅的工作流至关重要,让你能够同时处理多项责任,而不会丢失工作进度或打断思路。

请记住,虽然 Git stash 是临时存储更改的强大工具,但它最适合用于短期存储。对于长期工作或重大功能开发,创建专门的分支通常是更好的选择。继续练习这些技能,你将能够从容应对任何复杂的开发场景!

✨ 查看解决方案并练习