Git 时间侦探

GitGitBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

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

这是一个挑战(Challenge),与实验(Lab)不同,你需要独立完成挑战任务,而不是按照实验的步骤学习。挑战通常有一点难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。根据历史数据,这是一个 初级 级别的挑战,通过率为 98%。获得了学习者 97% 的好评率。

调查 Git 仓库

在你开始之前,请注意,我们已经在 ~/project/mystery-repo 为你设置好了一个 Git 仓库。这个仓库包含了一系列的提交,包括我们神秘函数消失的那个提交。你的工作区已经初始化完毕,可以开始调查了。

任务

  1. 导航到 ~/project/mystery-repo 的神秘仓库。
  2. 使用 Git 日志(git log)命令,找出从 secret.js 文件中移除 secretAlgorithm() 函数的提交。
  3. 找出负责移除该函数的作者。

要求

  • 你必须使用带有适当选项的 git log 命令来完成这个挑战(Challenge)。
  • 所有操作都应该在 ~/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 时间侦探,能够解开项目历史中的任何谜团!