介绍
欢迎,Git 时光侦探!你团队的项目中有一段关键代码失踪了,现在需要你来解开这个谜团。你的任务是运用 Git 日志管理技巧,追踪这段丢失的代码并锁定它消失时的那个提交。本次挑战将测试你高效搜索 Git 历史记录和过滤日志的能力。
调查 Git 仓库
在开始之前,请注意系统已在 ~/project/mystery-repo 为你准备好了一个 Git 仓库。该仓库包含一系列提交记录,其中就包括我们的神秘函数消失的那次提交。你的工作区已经初始化完毕,随时可以开始调查。
任务
- 进入位于
~/project/mystery-repo的神秘仓库。 - 使用 Git 日志命令,找出函数
secretAlgorithm()从secret.js文件中被删除时所在的提交。 - 找到负责删除该函数的作者。
要求
- 你必须使用带有合适选项的
git log命令来完成此挑战。 - 所有操作都应在
~/project/mystery-repo目录中进行。 - 你需要找到删除
secretAlgorithm()函数的确切提交哈希值(Commit Hash)。 - 你必须识别出执行该删除操作的提交作者。
- 将提交哈希值写入名为
~/user_answer.txt的文件中。 - 将作者姓名写入名为
~/user_author.txt的文件中。
示例
成功完成挑战后,你应该能够提供类似以下的信息:
cat ~/user_answer.txt
请注意,文件必须放置在
~目录下。
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
cat ~/user_author.txt
Jane Doe
总结
在本次挑战中,你实战演练了 Git 历史调查技巧。你学会了如何使用高级 git log 功能(如 pickaxe 选项 -S)在项目历史中搜索特定的代码变更。当需要追踪特定修改发生的时间和原因时,这项技能在拥有庞大历史记录的大型项目中显得尤为珍贵。
请记住,Git 的历史功能是理解项目演进过程的强大工具。它们能帮你定位漏洞、理解设计决策,甚至找回丢失的代码。继续磨练这些技能,你将成为一名真正的 Git 时光侦探,能够解开项目历史中的任何谜团!



