Zum Inhalt springen
GitTree

Lektion 17 · Alltagsarbeit

Verfolgen Sie den Verlauf und die Urheberschaft einer Zeile

Ordnen Sie die README-Überprüfungszeile Maya und die Erinnerung in der Fußzeile Leo zu, wobei Sie den Dateiverlauf und die Schuldzuweisung verwenden, ohne die Urheberschaft als Codegenehmigung zu behandeln.

In diesem Browser gespeicherter Fortschritt.

Beim Abspielen wird das Video von YouTube geladen (erweiterter Datenschutzmodus).

Englische Erzählung · English and Arabic Bildunterschriften

Öffnen Sie die VideoseiteAuf YouTube ansehen

Was Sie lernen werden

  • Trennen Sie den Dateiverlauf von der aktuellen Zeilenzuordnung.
  • Lesen Sie Autor und Committer unabhängig voneinander.
  • Untersuchen Sie frühere Schuldzuweisungen, ohne Commits zu überprüfen.
  • Halten Sie Zuordnungsnachweise vom Sicherheitsvertrauen getrennt.

Bevor Sie beginnen

Beginnen Sie dort, wo Lektion 15 endete: main mit dem Ignore-Commit, Clean; README.md ist immer noch die ursprüngliche README-Datei und index.html enthält Leos Fußzeile aus Lektion 11. Die veröffentlichte Funktion und das v0.1.0-Tag bleiben unverändert.

Das Video wurde mit Git 2.52.0 und GitTree 2.0 am Ubuntu 24.04 aufgenommen: README.md wurde in der App gespeichert, Mayas Commit wurde nativ zur Vorbereitung der Teamkollegen erstellt und die Verlaufs- und Schuldzuweisungsansichten wurden in der App geöffnet; Der Vorher-Zustand und die Blame-Readbacks wurden im Terminal ausgeführt. Auf macOS oder Windows wurde nichts ausgeführt, und Ubuntu ist das einzige aufgezeichnete Linux-System. Die Quell-Git-Ebene von GitTree ist 2.39.0.

GitTree fordert Sie auf, sich anzumelden; Der Free-Plan deckt hier dann jeden Schritt ab. Es ist kein Anbieterkonto, Pro-/Testversion, API-Anmeldeinformationen oder Internetdienst erforderlich. Ein lokaler nackter Ursprung ist nicht GitLab oder CI. Alle Identitäten verwenden example.com; Führen Sie diese Lektion niemals innerhalb einer Quellprüfung durch.

Nehmen Sie Mutationen entweder über GitTree oder den nativen Pfad an identischen Eingaben vor, nicht beide nacheinander. In beiden Fällen kann eine schreibgeschützte Überprüfung erfolgen. Jede als Terminalarbeit beschriebene Vorbereitung wird als native Vorbereitung bezeichnet und niemals als erfundene App-Funktion.

Konzept und Zustandswirkungen

Der Dateiverlauf listet Commits auf, die anhand von Pfad-/Verlaufsregeln ausgewählt wurden. Blame ordnet aktuelle Zeilen den Commits zu, die sie zuletzt unter den ausgewählten Optionen eingeführt haben. Es gibt auch keine vollständige soziale Erklärung dafür, wer ein Feature entworfen hat.

Autor und Committer können unterschiedlich sein. Dieses Spiel verwendet absichtlich dieselbe fiktive Maya-Identität für beide in ihrem Commit und Leo für beide in seinem. Namen/E-Mails sind Metadaten, kein Eigentumsnachweis oder vertrauenswürdiger Code.

Durch das Ignorieren von Leerzeichen und das Befolgen verschobener Zeilen können sich Zuordnungsantworten ändern, ohne dass sich die Dateibytes oder der Verlauf ändern. Treten Sie von einem ausgewählten beschuldigten Commit zurück, um seinen Vorgänger zu überprüfen. Auswahl ist keine Kasse.

Der explizite README-Commit erweitert nur main. Nachfolgende Verlaufs-/Schuldauswahlen und -umschaltungen ändern den App-Ansichtsstatus; Es kommt zu keiner Index-, Arbeits-, lokalen Zweig- oder Servermutation.

Bereiten Sie den genauen Projektstand vor

Füllen Sie beim ursprünglichen Hauptspeicher README_MAYA unten aus. Die native Vorbereitung verwendet git -c user.name/user.email nur für diesen einen Commit, nicht die globale Konfiguration oder eine irreführende Nur-Autor-Überschreibung. Erfassen Sie die tatsächlich resultierenden Metadaten.

Vollständige Dateieingaben

Speichern Sie nur in der unten genannten Phase. Dabei handelt es sich um vollständige UTF-8/LF-Körper mit einem abschließenden Zeilenumbruch; Fügen Sie niemals Markdown-Zäune ein. Unveränderte ausführbare Dateien erben die benannte Eingabe. Versionen in separaten Varianten dürfen das Original nicht überschreiben.

README.md – README_MAYA

Ausgabe
# GitTree Features

A fictional landing page used to learn Git and GitTree.

All people and addresses in this repository are fictional.
No form submits information to a server.

Review changes deliberately and preserve useful work.

In GitTree

Palette: Befehl+Umschalt+P (Strg+Umschalt+P bei Ubuntu); Geben Sie den genau benannten Befehl ein und wählen Sie ihn aus. Benannte Ref-Aktionen verwenden das Kontextmenü dieser Zeile und keine argumentfreie Palettenverknüpfung.

  1. Dateien anzeigen; Öffnen Sie README.md und speichern Sie die vollständige Datei README_MAYA. Überprüfen Sie die hinzugefügte Bewertungszeile.
  2. Begehen Sie den Zusatz nativ mit der expliziten fiktiven Identität unten; Beschriften Sie diese Teamkollegenvorbereitung. Behaupten Sie nicht, dass die App vorhandene Autoren neu geschrieben hat.
  3. Wenn README.md über Dateien anzeigen und dann README.md geöffnet wird, verfügt die Dateiansicht über vier Registerkarten: File, Changes, Blame und History. Wählen Sie History: Es werden nur die Commits dieser Datei aufgelistet, Mayas steht ganz oben. Wählen Sie Mayas Commit aus.
  4. Überprüfen Sie den Pfadunterschied und die Metadaten. Verwenden Sie die Verlaufsliste ArrowUp/ArrowDown, um eine andere Revision ohne Auschecken zu überprüfen.
  5. Wählen Sie Blame in README.md. Der Header lautet „Blame @“, eine kurze Commit-ID, und die Zeilen sind nach Commit gruppiert; Klicken Sie auf die hinzugefügte Zeile. Erwarten Sie Mayas tatsächliches Subjekt und ihre Identität, nicht eine erfundene feste SHA.
  6. Öffnen Sie index.html und wählen Sie „Blame“; Überprüfen Sie unabhängig die Leo-Zuordnung der Fußzeile.
  7. Ignore whitespace changes und Follow moved lines sind Anzeigeoptionen der Blame-Ansicht. Klicken Sie auf die Gruppe eines Commits, wählen Sie Blame before this commit, um die Schuld so zu sehen, wie sie war, und dann Back to the later blame.
  8. Back to Graph; Jump to HEAD (Strg+Umschalt+H auf Ubuntu). Überprüfen Sie nach der Inspektion, ob die ursprüngliche Hauptdüse sauber und die tatsächliche Düse unverändert ist.

Für jeden gewöhnlichen Commit: Zusammenfassung ist der angegebene Betreff; Beschreibung leer; Vorheriges Commit ändern, Hooks überspringen, „Signiert von“ und „Anderer Autor“ hinzufügen, „Nach Commit verschieben“ und „Leeres Commit deaktivieren“ zulassen; keine Co-Autoren. Stellen Sie nur die benannten Dateien bereit und übernehmen Sie dann die Änderungen einmal in N Dateien (Datei für eine) oder alternativ Befehl+Eingabetaste. Warten Sie auf das tatsächliche Ergebnis. Eine Lektion, die explizit Änderungen vornimmt, ändert nur die angegebene Option.

Im Terminal

Nach dem Speichern von README_MAYA:

Command · bash
git add -- README.md
git -c user.name="Maya Chen" -c user.email=maya@example.com commit --quiet -m "docs: explain deliberate review"
git log -1 --format='%an <%ae>%n%cn <%ce>' -- README.md
git blame --line-porcelain -- README.md
git blame --line-porcelain -- index.html
git status --short

Der Commit ist erfolgreich. Die tatsächliche Autorenabfrage umfasst:

Ausgabe
Maya Chen <maya@example.com>
Maya Chen <maya@example.com>

Die vollständige Schuldausgabe umfasst tatsächliche variable SHAs/Zeiten und Datensätze pro Zeile. Für die neue README-Zeile umfassen die verifizierten Datensatzfelder Autorin Maya Chen, Autor-E-Mail <maya@example.com>, zusammenfassende Dokumente: Erläutern Sie die absichtliche Überprüfung und dann eine mit Tabulatoren versehene Überprüfung, um Änderungen absichtlich vorzunehmen und nützliche Arbeit zu bewahren. Der Fußzeilendatensatz identifiziert Leo Okafor und seinen Erinnerungs-Commit; Dies muss anhand des tatsächlichen Baums gemessen werden und darf nicht als einheitlicher Autor für jede HTML-Zeile erfunden werden. Der Endstatus ist leer.

Schreibgeschützte Alternativen:

Command · bash
git log --follow --format='%s' -- README.md
git blame -w -- README.md
git blame -M -- README.md

Diese Optionen beantworten unterschiedliche Attributionsfragen. Das Ausgabelayout ist Git-versionsspezifisch und wird erfasst und nicht durch den Porzellanfeldauszug ersetzt.

Ergebnis

Where you end: Mayas einzige README-Ergänzung ist als Docs: Explain-Rezension auf Main festgeschrieben. Die Schuld schreibt diese neue Zeile Maya und die Fußzeile Leo zu; Die Inspektion hinterlässt KOPF/Index/Werk sauber und unverändert.

Häufige Fehler

  • Schuldzuweisungen werden als Schuldigkeitswert bezeichnet.
  • Vorausgesetzt, Autor ist immer gleich Committer.
  • Ein Commit nur auschecken, um seine Zeile zu überprüfen.

Wenn etwas schief geht

Ansichtsoptionen löschen oder zur späteren Ansicht zurückkehren/zu KOPF springen. Die Navigation muss nicht zurückgesetzt werden. Wenn die Zuordnung unterschiedlich ist, überprüfen Sie den tatsächlichen Pfad, die Überarbeitung und die Einstellungen für Leerzeichen/Verschiebung, bevor Sie den Verlauf bearbeiten.

Überprüfen Sie Ihr Verständnis

Beantworten Sie jede Frage und lesen Sie dann, warum. Mit „erforderlich“ gekennzeichnete Fragen zählen zum Abschluss der Lektion.

  1. Frage 1 von 6

    Schuld antwortet was?

    Wählen Sie eine Antwort.

  2. Frage 2 von 6

    Welche Unterscheidungen sind wichtig?

    Wählen Sie jede zutreffende Antwort aus.

  3. Frage 3 von 6
    Erforderlich

    Alte Dateirevision auswählen: HEAD?

    Wählen Sie eine Antwort.

  4. Frage 4 von 6
    Erforderlich

    Abfrage so ändern, dass Leerzeichen ignoriert werden: Bytes?

    Wählen Sie eine Antwort.

  5. Frage 5 von 6

    Unterschiedliches Schuldergebnis: Erstprüfung?

    Wählen Sie eine Antwort.

  6. Frage 6 von 6
    Erforderlich

    Was beweist das Ergebnis?

    Wählen Sie jede zutreffende Antwort aus.

0 von 6 korrekt

Beantworten Sie die erforderlichen Fragen richtig, um die Lektion abzuschließen.

In diesem Browser überprüft.

Üben

Beweisen Sie, dass die README-Rezensionszeile zu Maya und die Fußzeile zu Leo gehört, indem Sie echte Line-Porzellan-Datensätze verwenden. Schalten Sie -w in einer separaten schreibgeschützten Abfrage ein und erklären Sie, warum eine unveränderte Zuordnung hier nicht beweist, dass die Option nie von Bedeutung ist.

Ihre eigene Bestätigung: Die Website kann Ihren Computer nicht sehen.

Um die Lektion abzuschließen, beantworten Sie die erforderlichen Fragen richtig und bestätigen Sie die praktische Übung.

Zusammenfassung

  • Geschichte und Schuld beantworten unterschiedliche Fragen.
  • Metadaten sind kein Vertrauen.
  • Die Inspektion bewegt den KOPF nicht.

Glossarbegriffe eingeführt

Schuld – نسب الأسطر; Dateiverlauf – سجل الملف; Autor – المؤلف; Committer – المُودِع.

Videotranskript

Die Erzählung des Videos, Stichwort für Stichwort.

Zeigen Sie das Transkript
  1. Beginnen Sie am genauen Kontrollpunkt.
  2. Benennen Sie den Zweig und den Index und Arbeitsversion.
  3. Bereiten Sie nur die isolierte Kurskopie vor.
  4. Speichern Sie das vollständige Überprüfungsdokument.
  5. Nehmen Sie das Fiktive auf Teamkollegenidentität explizit angeben.
  6. Der Dateiverlauf folgt dem ausgewählten Pfad.
  7. Überprüfen Sie Metadaten ohne Schauen Sie sich das Commit an.
  8. Lesen Sie die tatsächliche Quellenangabe der hinzugefügten Zeile.
  9. Sehen Sie sich Leos Fußzeile separat an.
  10. Die Ansichtsoptionen können sich ändern Fragen zur Zuschreibung.
  11. Kehren Sie zurück, ohne den Zweig zu wechseln.
  12. Schuld antwortet was?
  13. Zuschreibung ist eine Geschichte Frage, kein soziales Urteil.
  14. Welche Unterscheidungen sind wichtig?
  15. Metadaten und die abgefragte Version Bestimmen Sie die angezeigten Beweise.
  16. Alte Dateirevision auswählen: HEAD?
  17. Bei der Inspektion wird eine Ansicht ausgewählt, nicht beim Auschecken.
  18. Abfrage so ändern, dass Leerzeichen ignoriert werden: Bytes?
  19. Die Option ändert die Namensnennung Berechnung, nicht gespeicherter Inhalt.
  20. Unterschiedliches Schuldergebnis: Erstprüfung?
  21. Unterschiedliche Abfrageeingaben können legitim sein ergeben unterschiedliche Zuschreibungen.
  22. Was beweist das Ergebnis?
  23. Überprüfen Sie die Leitungsnachweise und unabhängiger Repository-Status.
  24. Überprüfen Sie das tatsächliche Ergebnis, nicht nur eine Nachricht.
  25. Sagen Sie die geänderte Eingabe vorher, bevor Sie handeln.
  26. Bewahren Sie nützliche Arbeit vor der Wiederherstellung auf.
  27. Überprüfen Sie den Kontrollpunkt, bevor Sie fortfahren.
  28. Behalten Sie das überprüfte Ergebnis für den nächsten Schritt.