Đoạn xem trước bài giảng

Versionsgeschichte verstehen: Log, Diff, Show und Navigation durch die Vergangenheit

Die Projektgeschichte ist mehr als nur ein Protokoll – sie dokumentiert Entscheidungen. Lernen Sie, die Versionsgeschichte informativ zu lesen: Commits filtern, Änderungen zwischen Versionen nachvollziehen und SHA-1-Hashes ohne Scheu zu verstehen. Besonderes Augenmerk legen wir darauf, wie man eine „gute“ von einer „schlechten“ Commit-Historie unterscheidet – das beeinflusst maßgeblich, wie Sie im Team wahrgenommen werden.

Commit-Hash git log git diff
Bạn sẽ học gì trong bài giảng này
  • Sie werden in der Lage sein, die Repository-Historie zu lesen und gezielt nach Commits von bestimmten Autoren, zu bestimmten Daten oder mit Stichwörtern zu suchen.
  • Sie verstehen, wie Sie Dateiversionen auf verschiedenen Ebenen vergleichen können: Arbeitsverzeichnis, Staging-Bereich und Commits.
  • Sie lernen, Commit-Nachrichten nach anerkannten Industriestandards (Conventional Commits) zu verfassen.

Phần đầu bài giảng

Commit-Historie als Projekttagebuch

  • Git log zeigt die Geschichte als umgekehrtes Tagebuch
  • Jeder Eintrag ist eine Momentaufnahme der Änderungen
  • Speichert wer, wann und was geändert hat
  • Ermöglicht die Evolution des Codes nachzuvollziehen

Stellen Sie sich vor, dass Sie jedes Mal, wenn Sie Änderungen in Git speichern, einen Eintrag in ein Entwicklungstagebuch machen. Der Befehl 'git log' zeigt diese Einträge in umgekehrter chronologischer Reihenfolge – von den neuesten zu den ältesten. In diesem Tagebuch ist die vollständige Chronik des Projekts gespeichert: Wer hat wann welche Änderungen vorgenommen? Dies ist nicht nur eine Liste von Änderungen, sondern eine lebendige Geschichte der Evolution Ihres Codes. Die Fähigkeit, diese Geschichte zu lesen und zu analysieren, ist eine Schlüsselkompetenz für die Teamarbeit. Denn durch die Commit-Historie sehen Sie, wie sich das Projekt entwickelt hat, welche Entscheidungen getroffen wurden und warum. Lassen Sie uns die Struktur eines einzelnen Commits genauer betrachten.

Commit-Eintrag lesen: Hash, Autor, Datum

  • commit: eindeutiger Hash-Identifikator
  • Author: wer und wann die Änderungen vorgenommen hat
  • Date: Zeitstempel des Commits
  • Nachricht: was genau geändert wurde

Schauen Sie sich die Ausgabe des Befehls 'git log' an. Jeder Eintrag beginnt mit einer langen Zeichenkette – das ist der Commit-Hash, sein eindeutiger Identifikator. Rechts davon sehen Sie den Autor der Änderungen und das Datum der Änderung. Darunter befindet sich die Commit-Nachricht, die der Entwickler beim Speichern der Änderungen geschrieben hat. Beachten Sie das Format: Zuerst kommt die E-Mail des Autors in spitzen Klammern, dann der Zeitstempel. Diese Daten helfen, den Kontext der Änderungen zu verstehen und bei Bedarf mit dem Autor Kontakt aufzunehmen. Nachdem wir nun die Struktur eines Commits besprochen haben, lassen Sie uns verstehen, was ein Hash ist und wofür er benötigt wird.

#!/bin/bash
cd ~/projects/git-course/
git log -1 --pretty=format:'commit %H%nAuthor: %an <%ae>%nDate:   %ad%n%n    %s'

Der Commit-Hash – Ihr Schlüssel zur Historie

  • Der Hash ist ein digitaler Fingerabdruck des Commits
  • Hängt vom Inhalt und den Metadaten ab
  • Die Änderung eines einzigen Zeichens verändert den Hash
  • Ermöglicht die genaue Referenzierung jeder Version

Ein Commit-Hash ist keine zufällige Zeichenfolge, sondern das Ergebnis einer kryptografischen Funktion, die den Inhalt des Commits in eine eindeutige Zeichenkette umwandelt. Wenn Sie auch nur ein Byte im Commit ändern, wird der Hash komplett anders aussehen. Dies gewährleistet die Integrität der Versionshistorie. Mit dem Hash können Sie auf jede Codeversion zugreifen, wie mit einem Lesezeichen in einem Buch. Der Befehl 'git checkout' mit dem entsprechenden Hash versetzt Sie in den Projektzustand zum Zeitpunkt dieses Commits. Das ist besonders nützlich, wenn Sie Änderungen rückgängig machen oder analysieren möchten, wann genau ein Fehler aufgetreten ist. Jetzt, da wir die Struktur der Historie verstehen, lernen wir, sie zu filtern – denn in realen Projekten können Tausende von Commits vorhanden sein.

Bài giảng đầy đủ dành cho thuê bao

Còn 26 slide nữa trong phiên bản đầy đủ.

Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.

Đăng nhập hoặc đăng ký Đăng ký thuê bao

Nội dung bài giảng

  1. Commit-Historie als Projekttagebuch
  2. Commit-Eintrag lesen: Hash, Autor, Datum
  3. Der Commit-Hash – Ihr Schlüssel zur Historie
  4. Wie finde ich Commits eines Autors?
  5. Filterung nach Commit-Datum
  6. Suche nach Commit-Texten
  7. Filter kombinieren
  8. Problem der Lesbarkeit von Commit-Historien
  9. Kompakte Darstellung mit --oneline
  10. Verzweigungsvisualisierung mit --graph
  11. Vollständiges Bild mit --all
  12. Was ist git diff und wofür wird es verwendet?
  13. Vergleichen von Änderungen im Arbeitsverzeichnis
  14. Was ist für den Commit vorbereitet: git diff --staged
  15. Vergleichen beliebiger zwei Commits
  16. Wie man einen bestimmten Commit detailliert untersucht
  17. Praxis: Änderungen in einem Commit anzeigen
  18. Anzeigen einer bestimmten Datei in einem Commit
  19. Suche nach den letzten Änderungen in einer Datei
  20. Analyse von Fremdcode über den Verlauf
  21. Suche nach Einführung oder Entfernung einer Funktion
  22. Warum Commit-Nachrichten wichtig sind
  23. Struktur der perfekten Commit-Nachricht
  24. Conventional Commits in der Praxis
  25. Refactoring von schlechten Commits
  26. Warum 'fix'-Commits ein Anti-Pattern sind
  27. Atomarität von Änderungen: Ein Commit – eine Aufgabe
  28. git add -p: Das Rettungsseil für saubere Commits
  29. Zusammenfassung und Aufgabe

Bài viết liên quan đến bài học này

Tất cả bài giảng của khóa học

  1. Einführung: Git vom Anfänger zum sicheren Entwickler
  2. Wofür braucht man eigentlich Git – und warum bekommt man ohne es keinen Job?
  3. Installation und Einrichtung: Git für den ersten Start vorbereiten
  4. Erstes Repository: init, add, commit und die Magie des Index
  5. Versionsgeschichte verstehen: Log, Diff, Show und Navigation durch die Vergangenheit
  6. Branches: Die parallele Realität Ihres Codes
  7. Fehler rückgängig machen: restore, reset, revert – richtig und gefährlich
  8. GitHub und Remote-Repositories: Ihr Code in der Cloud
  9. Teamarbeit: Forks, Feature-Branches und Pull-Requests
  10. Merge-Konflikte: Keine Panik – Verstehen und Lösen
  11. Git-Prozesse in realen Teams: Welchen Workflow soll man wählen?
  12. Fortgeschrittene Tools: Rebase, Stash, Cherry-Pick und Tags
  13. Abschlussprojekt: Simulation einer echten Team-Entwicklung