Git Time Detective

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Willkommen, Git Time Detective! Ein entscheidender Codeausschnitt ist aus dem Projekt Ihres Teams verschwunden, und es liegt an Ihnen, das Rätsel zu lösen. Ihre Mission besteht darin, Ihre Fähigkeiten im Umgang mit Git-Logs einzusetzen, um den fehlenden Code aufzuspüren und den Commit zu identifizieren, in dem er verschwunden ist. Diese Herausforderung wird Ihre Fähigkeit testen, effektiv durch die Git-Geschichte zu suchen und die Logs zu filtern.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/diff -.-> lab-387782{{"Git Time Detective"}} git/log -.-> lab-387782{{"Git Time Detective"}} end

Untersuchen des Git-Repositorys

Bevor Sie beginnen, beachten Sie, dass für Sie ein Git-Repository unter ~/project/mystery-repo eingerichtet wurde. Dieses Repository enthält eine Reihe von Commits, einschließlich desjenigen, in dem unsere geheime Funktion verschwunden ist. Ihr Arbeitsbereich ist bereits initialisiert und bereit für die Untersuchung.

Aufgaben

  1. Navigieren Sie zum geheimnisvollen Repository unter ~/project/mystery-repo.
  2. Verwenden Sie Git-Log-Befehle, um den Commit zu identifizieren, in dem die Funktion secretAlgorithm() aus der Datei secret.js entfernt wurde.
  3. Finden Sie den Autor, der für das Entfernen der Funktion verantwortlich ist.

Anforderungen

  • Sie müssen den git log-Befehl mit geeigneten Optionen verwenden, um diese Herausforderung zu bewältigen.
  • Alle Operationen sollten im Verzeichnis ~/project/mystery-repo durchgeführt werden.
  • Sie müssen den genauen Commit-Hash finden, in dem die Funktion secretAlgorithm() entfernt wurde.
  • Sie müssen den Autor identifizieren, der den Commit vorgenommen hat, in dem die Funktion entfernt wurde.
  • Schreiben Sie den Commit-Hash in eine Datei namens ~/user_answer.txt.
  • Schreiben Sie den Namen des Autors in eine Datei namens ~/user_author.txt.

Beispiel

Nachdem Sie die Herausforderung erfolgreich abgeschlossen haben, sollten Sie in der Lage sein, Informationen ähnlich diesen bereitzustellen:

cat ~/user_answer.txt
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
cat ~/user_author.txt
Jane Doe
✨ Lösung prüfen und üben

Zusammenfassung

In dieser Herausforderung haben Sie Ihre Fähigkeiten zur Untersuchung der Git-Geschichte auf die Probe gestellt. Sie haben gelernt, wie Sie erweiterte git log-Funktionen wie die Pickaxe-Option (-S) nutzen können, um nach spezifischen Codeänderungen in der gesamten Projektgeschichte zu suchen. Diese Fähigkeit ist unschätzbar, wenn Sie ermitteln möchten, wann und warum bestimmte Änderungen vorgenommen wurden, insbesondere in großen Projekten mit umfangreicher Historie.

Denken Sie daran, dass die Historie-Funktionen von Git leistungsstarke Werkzeuge sind, um die Entwicklung Ihres Projekts zu verstehen. Sie können Ihnen helfen, Bugs aufzuspüren, Designentscheidungen zu verstehen und sogar verlorenen Code wiederherzustellen. Üben Sie diese Fähigkeiten weiter, und Sie werden ein echter Git Time Detective werden, der jedes Rätsel in der Geschichte Ihres Projekts lösen kann!