揭开神秘的代码变更

Intermediate

介绍

欢迎,Git Diff 侦探!你的团队一直在进行一个绝密项目,但有人对代码进行了未经授权的修改。你的任务是利用你的 git diff 技能来揭开这些变更并识别受影响的文件。这次挑战将测试你比较仓库不同状态以及精准定位特定修改的能力。

调查绝密项目仓库

在开始之前,请注意在 ~/project/secret-project 路径下已经为你准备好了一个 Git 仓库。该仓库包含了原始代码和那些神秘的变更。你的工作区已经初始化完毕,随时可以开始调查。

任务

  1. 进入位于 ~/project/secret-project 的绝密项目仓库。
  2. 使用 Git diff 命令识别那些已被修改但尚未暂存(staged)的文件。
  3. 确定哪些文件的变更已经暂存并准备提交。
  4. 找出添加在 encryption.js 文件中的特定代码行。

要求

  • 所有操作都应在 ~/project/secret-project 目录下进行。
  • 你需要识别出:
    • 未暂存变更的文件名
    • 已暂存变更的文件名
    • 添加到 encryption.js 中的确切代码行
  • 将你的发现填写在 ~/investigation_report.txt 文件中。我们已经为你提供了一个模板。你可以使用桌面上的文本编辑器打开并编辑该文件。

示例

成功完成挑战后,你的 ~/investigation_report.txt 内容可能如下所示:

Unstaged files:
xxx.js
xxx.js

Staged files:
xxx.js
xxx.js

Added line in encryption.js:
const ……

请务必将 xxx.js 替换为实际的文件名,并将 const …… 替换为确切添加的那行代码。不要修改报告的格式,包括其中的空行。

总结

在这次挑战中,你对自己的 git diff 调查技能进行了实战测试。你学习了如何使用 git diff 命令的不同选项来检查 Git 仓库中各种状态下的变更。无论变更是已暂存准备提交,还是仍留在工作目录中,这项技能对于理解项目发生的改动都至关重要。

请记住,git diff 是一个强大的工具,可用于在提交前审查代码、了解项目的当前状态,甚至用于调试。通过掌握这些技能,你正在成为一名真正的 Git 侦探,能够揭开代码库中任何神秘的变更!