Git 时光侦探

GitBeginner
立即练习

介绍

欢迎,Git 时光侦探!你团队的项目中有一段关键代码失踪了,现在需要你来解开这个谜团。你的任务是运用 Git 日志管理技巧,追踪这段丢失的代码并锁定它消失时的那个提交。本次挑战将测试你高效搜索 Git 历史记录和过滤日志的能力。

调查 Git 仓库

在开始之前,请注意系统已在 ~/project/mystery-repo 为你准备好了一个 Git 仓库。该仓库包含一系列提交记录,其中就包括我们的神秘函数消失的那次提交。你的工作区已经初始化完毕,随时可以开始调查。

任务

  1. 进入位于 ~/project/mystery-repo 的神秘仓库。
  2. 使用 Git 日志命令,找出函数 secretAlgorithm()secret.js 文件中被删除时所在的提交。
  3. 找到负责删除该函数的作者。

要求

  • 你必须使用带有合适选项的 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 时光侦探,能够解开项目历史中的任何谜团!

✨ 查看解决方案并练习