Zum Inhalt springen
GitTree

Lektion 11 · Alltagsarbeit

Rufen Sie die Änderung eines Teamkollegen ab, ohne Ihre Seite zu ersetzen

Erhalten Sie Leos echtes Fußzeilen-Commit, während die Hauptseite, der Index und die ursprüngliche Arbeitsseite unverändert bleiben. Überprüfen Sie dann die Stale-Ref-Bereinigung in einer separaten Wiedergabe, damit das Löschen des Servers nicht mit der lokalen Bereinigung verwechselt wird.

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

  • Erklären Sie, warum eine abgerufene Remote-Tracking-Referenz vorrücken kann, während dies bei main nicht der Fall ist.
  • Vergleichen Sie den abgerufenen Footer, ohne ihn auszuprobieren oder einzubinden.
  • Sagen Sie das Abrufverhalten voraus, wenn die Arbeitsseite eine überlappende lokale Bearbeitung aufweist.
  • Unterscheiden Sie das Bereinigen eines lokalen veralteten Verweises vom Löschen eines Servers oder einer lokalen Verzweigung.

Bevor Sie beginnen

Beginnen Sie dort, wo Lektion 10 endete: das Original main/H6 ausgecheckt, sechs Commits einschließlich docs/remotes.md, bereinigt, Ursprung/main/H6 verfolgen. Der separate lokale nackte Ursprung hat nur main/H6. Feature/Pricing-Cards/F1 bleibt lokal, ohne Upstream oder Veröffentlichung. Lassen Sie den Hintergrundabruf der Demo deaktiviert (repo.autoFetchInterval = 0), um ein echtes Vorher/Nachher zu erfassen. Verwenden Sie nicht den zusätzlichen Klon aus Lektion 4.

Verwenden Sie ein neues Geschwistermodell gittree-features-leo für den Teamkollegen; stoppen, wenn das Ziel bereits existiert. Alle Repositorys sind Einwegkopien von GitTree-Funktionen, außerhalb jedes Quell-Checkouts. Das Video wurde mit Git 2.52.0 und GitTree 2.0 am Ubuntu 24.04 aufgezeichnet: Leos Commit und Push, die Vorbereitung der Stale-Ref-Kopie und die im Terminal ausgeführten Prüfungen; Der Abruf, das Diagramm, Referenzen vergleichen, die Dateiansichten und Prune Remote wurden in der App durchgeführt. Auf macOS oder Windows wurde nichts ausgeführt, und Ubuntu ist das einzige aufgezeichnete Linux-System. Die Quelluntergrenze von GitTree ist Git 2.39.0. Für diesen lokalen Git-Transport sind keine Provider-, Pro-/Test- oder API-Anmeldeinformationen erforderlich.

Konzept

Fetch ruft Objekte ab und aktualisiert das abgerufene Wissen. Hier wechselt der Hauptserver zum H7 von Leo, aber der Ursprung/Hauptserver des Originals bleibt bis zum Abruf H6. Eine Null-Rückstand-Zählung für einen veralteten Ursprung/Hauptserver ist kein Beweis dafür, dass der Server unverändert ist.

Nach dem Abruf heißt origin/main H7, während local main und HEAD H6 bleiben. Auch der Index und die Arbeitsseite bleiben H6. Das Lesen des Fußzeilenunterschieds ist eine Inspektion, nicht Pull, Checkout, Merge oder Rebase. „Hinter einem“ misst die Abstammung, nicht wie viele Dateien oder Zeilen sich unterscheiden.

Pull is fetch plus a second step. git pull führt einen Abruf aus und integriert dann das, was angekommen ist, in Ihren aktuellen Zweig (ein schneller Vorlauf, eine Zusammenführung oder ein Rebase). Der alleinige Abruf stoppt nach der ersten Hälfte, weshalb Ihre Dateien nie geändert werden können. Lektion 12 wählt bewusst den zweiten Schritt.

Pruning entfernt Remote-Tracking-Referenzen, deren entsprechender Serverzweig gemäß den Fetch/Refspec-Regeln verschwunden ist. Es löscht nicht selbst diesen Serverzweig, löscht keinen lokalen Zweig und entfernt auch nicht jedes Tag. Die Anforderung „Alle abrufen“ der Quelle ermöglicht bereits das Bereinigen. sein natives Äquivalent unten enthält daher --prune. Prune Remote ist eine separate Named-Remote-Aktion, die nur in einer separat vorbereiteten Stale-Ref-Kopie demonstriert wird.

Staatseffekte

SchrittOriginaler KOPF / HauptteilIndex / WerkHerkunft/HauptSeparater Hauptserver
EingabeH6H6-SeiteH6H6
Leo verpflichtet sich und verdrängt seinen KlonH6UnverändertH6, jetzt veraltetH7
Original Alle abrufenH6UnverändertH7H7
Differenz prüfenH6UnverändertH7H7

Es wird kein ursprünglicher Notebook-Commit hinzugefügt: Der eigentliche Projektvorgang ist die abgerufene Referenzaktualisierung. Das lokale Feature deutet immer noch auf F1 hin.

Vollständige Dateieingaben

Ersetzen Sie index.html nur im Leo-Klon durch den vollständigen ersten Text. Sein Thema ist docs: add Leo's review reminder; Autor/Committer Leo Okafor <leo@example.com>. Der geänderte Eingabetext ist eine separate Original-Kopie-Arbeitsbearbeitung und kein zweiter kanonischer Commit.

Aktenauszug · html
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>GitTree Features — course demo</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">See your work clearly.</h1>
      <p id="hero-copy">Choose one change, then check what Git saved.</p>
    </section>
    <section class="features" aria-labelledby="features-title">
      <h2 id="features-title">Follow your work</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>History</h3>
          <p>Read commits and branches together.</p>
        </article>
        <article class="feature-card">
          <h3>Changes</h3>
          <p>Review the exact content selected for a commit.</p>
        </article>
        <article class="feature-card">
          <h3>Recovery</h3>
          <p>Inspect the scope of a recovery point before using it.</p>
        </article>
      </div>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
  <script type="module" src="site.js"></script>
</body>
</html>

Separate Dirty-Fetch-Wiedergabe – HTML-DIRTY-FETCH

Dieser vollständige Text dient nur der separaten Wiedergabe geänderter Eingaben, niemals dem kanonischen Original.

Aktenauszug · html
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>GitTree Features — course demo</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">See your work clearly.</h1>
      <p id="hero-copy">Inspect the update before integrating it.</p>
    </section>
    <section class="features" aria-labelledby="features-title">
      <h2 id="features-title">Follow your work</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>History</h3>
          <p>Read commits and branches together.</p>
        </article>
        <article class="feature-card">
          <h3>Changes</h3>
          <p>Review the exact content selected for a commit.</p>
        </article>
        <article class="feature-card">
          <h3>Recovery</h3>
          <p>Inspect the scope of a recovery point before using it.</p>
        </article>
      </div>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn.</p></footer>
  <script type="module" src="site.js"></script>
</body>
</html>

In GitTree

  1. Öffnen Sie die ursprüngliche Hauptregisterkarte. Überprüfen Sie die Identität und den Sauberkeitsstatus des Repositorys. Bestätigen Sie, dass die Überschreibung des Hintergrundabrufs 0 bleibt. Ändern Sie den Quell-Checkout oder den automatischen Abruf nicht, bevor der Vorher-Status erfasst wurde.
  2. Bereiten Sie Leos Klon und den genauen Fußzeilen-Commit mit T1 unten vor, der explizit mit native teammate preparation gekennzeichnet ist. Sein Push aktualisiert den lokalen Bare-Server, nicht den abgerufenen Datensatz des Originals. Es ist kein gehostetes Konto oder eine simulierte Anbieterantwort beteiligt.
  3. Führen Sie vor dem Abrufen T2 aus. Main und origin/main stimmen bei H6 immer noch überein, auch wenn die direkte Serversuche einen anderen tatsächlichen SHA benennt. Die Arbeitsseite hat noch die alte Fußzeile.
  4. Öffnen Sie die Palette mit Command+Shift+P (Strg+Umschalt+P auf Ubuntu) und wählen Sie einmal Fetch All; Befehl+Umschalt+F (Strg+Umschalt+F) ist die Tastenkombination. Warten Sie auf den tatsächlichen Vorgang und das Ergebnis. Klicken Sie nicht auf „Ziehen“. Bei einem Ursprung ist ein Rechtsklick auf origin → Fetch Remote ein Äquivalent und kein zweiter erforderlicher Abruf (es wurde nicht gefilmt).
  5. Wählen Sie im Diagramm den neu abgerufenen Commit docs: add Leo's review reminder aus und überprüfen Sie den tatsächlichen Betreff und die Leo-Metadaten. Das lokale main/HEAD-Label bleibt bei seinem früheren Commit. Das Auswählen einer Diagrammzeile ist kein Auschecken.
  6. Palette Compare References… öffnet Compare References. Old side = main; New side = Ursprung/Haupt; What to compare = The two endpoints; wähle Compare. Erwarten Sie nur index.html mit der genauen hinzugefügten Fußzeilen-Erinnerung. Verwenden Sie für diesen Endpunkt-Baum-Vergleich nicht die Merge-Base/Log-Set-Terminologie.
  7. Show Files (Befehl+Umschalt+E, Strg+Umschalt+E bei Ubuntu); Wählen Sie „working index.html“ und drücken Sie die Eingabetaste. Die Fußzeile ist immer noch das Original. Wählen Sie Back to Graph und dann Palette Show Working Changes: Gespeicherte/nicht bereitgestellte Listen bleiben leer. Es ist kein lokales Speichern, Festschreiben oder Integrieren erforderlich.
  8. Beenden Sie mit „main“ mit sechs Commits, „origin/main“ mit sieben, „count0/1“ und „clean work/index“. Behalten Sie die unveröffentlichte lokale Funktion bei. „Reparieren“ Sie den Rückstand nicht, indem Sie einen Stoß erzwingen.
  9. Separate stale-ref replay only: Bereiten Sie B wie unten beschrieben vor, nicht das Original. Führen Sie zuerst einen Trockenlauf mit einheimischen Pflaumen durch. Öffnen Sie B aus New Tab (Strg+T) mit der Zeile Open gittree-features-prune unter „Zuletzt verwendete Repositorys“. Klicken Sie in der Registerkarte von B mit der rechten Maustaste auf den Namen origin im Seitenbereich → Prune Remote. Die App löst diese Aktion direkt aus; Es wird kein Vorschau- oder Bestätigungsdialog erfunden. Beobachten Sie, dass Origin/Practice/Stale verschwindet, während Local Keep-Stale und alle Arbeitsbytes erhalten bleiben.

Die Befehlstasten-Akkorde stammen aus der Tastaturbelegung der App; Die Strg-Formulare wurden auf Ubuntu verwendet. Die Teamkollegen- und Servervorbereitung ist eine native Arbeit im Terminal und kein von der App erstelltes gehostetes Projekt.

Im Terminal

Alle folgenden Befehle beginnen im original isolated gittree-features, sofern es sich nicht ausdrücklich um einen -C-Befehl handelt. Native Original-Fetch-Befehle sind Alternativen zur App-Aktion und keine Mutationen, die danach wiederholt werden müssen.

T1 – echte Vorbereitung der Teamkollegen

Command · bash
git clone --quiet --branch main "$(git remote get-url origin)" ../gittree-features-leo
git -C ../gittree-features-leo config user.name "Leo Okafor"
git -C ../gittree-features-leo config user.email leo@example.com
git -C ../gittree-features-leo config commit.gpgsign false

Der neue Klon existiert, main ist ausgecheckt und nur seine lokale Identität wird geändert. Ändern Sie in diesem Klon nur die Fußzeile, sodass die gesamte Datei HTML-LEO-FOOTER entspricht (das Video erledigt dies mit einem sed-Befehl; das Speichern des gesamten Textkörpers in einem Editor ergibt dieselbe Datei), dann:

Command · bash
git -C ../gittree-features-leo add -- index.html
git -C ../gittree-features-leo commit --quiet -m "docs: add Leo's review reminder"
git -C ../gittree-features-leo push --quiet origin main

Alles gelang im Stillen. Dies ist ein echter Git-Vorstoß zum wegwerfbaren lokalen nackten Ursprung; Es wurden weder Internetkonten noch Produktionsdaten berührt.

T2 – Unterscheiden Sie veraltetes lokales Wissen vom Serverstatus

Command · bash
git rev-list --left-right --count main...origin/main
git rev-parse refs/heads/main
git rev-parse refs/remotes/origin/main
git ls-remote --heads origin refs/heads/main

Die Zählung wurde gedruckt:

Ausgabe
0	0

Die nächsten beiden SHA-Ausgaben sind gleiche H6-Identitäten; ls-remote gibt den tatsächlichen anderen H7-SHA plus refs/heads/main aus. SHAs variieren je nach Commit-Metadaten, daher wird hier kein fester Fake-Hash gedruckt. Diese direkte Serverabfrage aktualisiert origin/main nicht.

T3 – ohne Integration abrufen und überprüfen

Command · bash
git fetch --all --prune --quiet

Beobachtet: Exit 0, kein Standardout. Die Quelle von GitTree ermöglicht das Bereinigen dieser Anfrage. Der Befehl spiegelt diese Wahl wider.

Command · bash
git symbolic-ref --short HEAD
git rev-list --count main
git rev-list --count origin/main
git rev-list --left-right --count main...origin/main
git log -1 --format="%s%n%an <%ae>%n%cn <%ce>" origin/main
git diff --name-only main origin/main
git status --short

Gibt vor dem endgültigen Status aus, wobei das dreizeilige Metadatenergebnis gruppiert ist:

Ausgabe
main
6
7
0	1
docs: add Leo's review reminder
Leo Okafor <leo@example.com>
Leo Okafor <leo@example.com>
index.html

Der endgültige Kurzstatus ist leerer Exit 0. Mains SHA, die vollständige index.html im Index und die gesamten Festplattenbytes wurden vorher/nachher verglichen und blieben identisch. Weder Abruf noch Diagramminspektion haben H7 überprüft.

Command · bash
git diff main origin/main -- index.html

Vollständiger beobachteter Unterschied:

Ausgabe
diff --git a/index.html b/index.html
index eebd082..1e4cfde 100644
--- a/index.html
+++ b/index.html
@@ -34,7 +34,7 @@
       </div>
     </section>
   </main>
-  <footer><p>Built by a fictional team for GitTree Learn.</p></footer>
+  <footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
   <script type="module" src="site.js"></script>
 </body>
 </html>

T4 – geänderte Eingabe: lokale schmutzige Seite

Speichern Sie den vollständigen HTML-DIRTY-FETCH ohne Staging nur in einer separaten Kopie des Prefetch-Originals im selben Projekt. Leos Server H7 existiert bereits:

Command · bash
git fetch --all --prune --quiet
git status --short
git show :index.html
git rev-list --left-right --count main...origin/main

Der Abruf ist erfolgreich. Status:

Ausgabe
 M index.html

Die vollständige Git-Show-Ausgabe bleibt die alte Aufnahme-/Indexdatei, nicht die schmutzige Arbeitsversion. Die endgültige Zählung beträgt 0/1. Die Arbeitsplattendatei bleibt exactly HTML-DIRTY-FETCH. Ein überlappender Dateiname allein führt nicht zu einem Abrufkonflikt; Für eine spätere Integration gelten andere Voraussetzungen. Das Video vergleicht den Index und die Arbeitsdatei mit jeweils grep -n 'hero-copy\|<footer>', anstatt die gesamte Datei zu drucken. Die eigene Prüfung des Replays bestätigte, dass die Arbeitsdatei HTML-DIRTY-FETCH entspricht.

T5 – veraltete Remote-Tracking-Referenz, separates B

Erstellen Sie ein isoliertes B-Original desselben Projekts und ein separates B-Bare-Ziel mit Server Main/H7. Zeigen Sie B only mithilfe der gemessenen Datei-URL auf dieses Ziel. Richten Sie A nicht erneut aus.

Bereiten Sie aus dem ursprünglichen Demoordner zwei neue, nicht vorhandene gleichrangige Ziele vor. Diese Befehle klonen dasselbe Projekt in B und auf seinen eigenen Server, ohne A erneut anzusprechen:

Command · bash
git clone --quiet --bare --single-branch --branch main --no-local ../gittree-features-origin.git ../gittree-features-prune-origin.git
git clone --quiet --single-branch --branch main --no-local . ../gittree-features-prune
PRUNE_URL="$(node --input-type=module -e "import path from 'node:path'; import {pathToFileURL} from 'node:url'; console.log(pathToFileURL(path.resolve('../gittree-features-prune-origin.git')).href);")"
git -C ../gittree-features-prune remote set-url origin "$PRUNE_URL"
git -C ../gittree-features-prune config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
git --git-dir=../gittree-features-prune-origin.git branch practice/stale main
git -C ../gittree-features-prune fetch --prune --quiet origin
git -C ../gittree-features-prune branch keep-stale origin/practice/stale
git --git-dir=../gittree-features-prune-origin.git branch --delete --quiet practice/stale

Der Single-Branch-B-Klon ruft zunächst nur main ab. Seine explizite remote.origin.fetch-Zuweisung stellt die Wildcard-Zweigzuordnung der ursprünglichen Demo wieder her, sodass „Practice/Stale“ abgerufen werden kann; es ändert nur B. Stoppen Sie bei jedem fehlgeschlagenen Vorbereitungsbefehl. Setzen Sie das Repo-spezifische Hintergrundabrufintervall von B vor der eigentlichen App-Aufnahme auf 0. Der verfügbare Serverzweig fehlt jetzt, während B weiterhin über seinen abgerufenen Datensatz und einen separaten lokalen Keep-Stale-Zweig verfügt. Die folgenden Befehle zielen explizit auf B ab:

Command · bash
git -C ../gittree-features-prune remote prune --dry-run origin
git -C ../gittree-features-prune remote prune origin
git -C ../gittree-features-prune for-each-ref --format='%(refname)' refs/remotes/origin/practice/stale
git -C ../gittree-features-prune show-ref --verify --quiet refs/heads/keep-stale

Beobachtet preview excerpt nach seiner variablen URL-Zeile:

Ausgabe
 * [would prune] origin/practice/stale

Beobachtet execution excerpt:

Ausgabe
 * [pruned] origin/practice/stale

Die for-each-ref ist leer, Ausgang 0; show-ref ist ein stiller Exit 0, was beweist, dass lokales Keep-Stale noch existiert. Der Haupt-SHA und die Arbeitsseite von B bleiben unverändert. Der Hauptserver bleibt H7. Die vollständigen nativen Transkripte umfassen den Pruning-Ursprung und die gemessene Datei-URL. Diese maschinenspezifischen Pfade werden hier nicht erfunden.

Fügen Sie kein normales Fetch All zwischen Stale-Ref-Vorbereitung und Prune Remote: Fetch All bereits bereinigt ein, so dass kein veralteter Kandidat für die separate Demonstration übrig bleibt.

Ergebnis

Where you end: original main/H6 ist immer noch mit sechs Commits und der alten Fußzeile ausgecheckt; origin/main/H7 zeichnet Leos siebten Commit auf; Server Main/H7 unverändert durch Fetch; Hauptgleise Ursprung/Hauptgleise und ist eins dahinter. Index/Arbeit sauber; feature/pricing-cards/F1 noch lokal/unveröffentlicht. B/C-Zweige, schmutziger Text und Bereinigungsvorbereitung bleiben aus A fern. Es gibt kein zusätzliches docs/fetch-and-prune.md-Commit.

Häufige Fehler

  • Rufen Sie pre-fetch0/0 auf, um die aktuelle Serverwahrheit zu zählen.
  • Es wird erwartet, dass die abgerufene Fußzeile die Arbeitsseite automatisch ersetzt.
  • Verwenden Sie Pull oder Checkout, damit eine Abrufaufzeichnung erfolgreich aussieht.
  • Es wird erwartet, dass eine fehlerhafte Seite allein durch den Abruf verworfen wird oder ein Konflikt entsteht.
  • Unter Prune versteht man das Löschen des Remote-Repositorys oder des lokalen Keep-Stale.

Wenn etwas schief geht

Ein fehlender Ordner, eine falsche URL oder ein Berechtigungsfehler bedeuten, dass der beabsichtigte Ursprung und der tatsächliche Fehler überprüft werden müssen, und nicht, den Verlauf zurückzusetzen oder das Ziel zu überschreiben. Die Verweigerung von Netzwerk/Helfer/Vertrauen ist kein Beweis dafür, dass es keine Aktualisierungen gibt; Zeichnen Sie den tatsächlichen Build/die tatsächliche Meldung auf und beheben Sie nur die angegebene Ursache. Ein eingeschränkter Modus kann den Transport verweigern; Vertrauen Sie nur dem überprüften Einweglabor und niemals einem zufälligen Repository, um an dem Film vorbeizukommen.

Wenn die ursprüngliche Hauptzeile verschoben oder die Fußzeile geändert wurde, halten Sie an und prüfen Sie, ob Pull, Auschecken oder eine externe Bearbeitung ausgeführt wurde. Führen Sie keinen Hard-Reset durch, um die Ursache zu verschleiern. Behalten Sie den unerwarteten Zustand bei, bevor Sie einen neuen Demo-Checkpoint vorbereiten.

Wenn kein veralteter Verweis mehr vorhanden ist, prüfen Sie, ob ein früherer „Alle abrufen“ ihn bereits bereinigt hat. B erneut vorbereiten; Erfinden Sie keine verschwindende Zeile und löschen Sie keinen nützlichen Serverzweig.

Ü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

    Leo hat H7 gedrückt, aber du hast nicht geholt. Wie darf Herkunft/Hauptname noch lauten?

    Wählen Sie eine Antwort.

  2. Frage 2 von 6

    Welche Beobachtungen gehören zum kanonischen Fetch-Ergebnis?

    Wählen Sie jede zutreffende Antwort aus.

  3. Frage 3 von 6

    Nach dem Abruf: main has6 und origin/main7 mit H6 als übergeordnetem Element von H7. Was ist main...origin/main count?

    Wählen Sie eine Antwort.

  4. Frage 4 von 6

    Ändern Sie die Eingabe: Speichern Sie HTML-DIRTY-FETCH ohne Staging und rufen Sie dann H7 ab. Was geschieht?

    Wählen Sie eine Antwort.

  5. Frage 5 von 6

    Der Serverzweig von B wurde gelöscht, aber B verfügt über Origin/Practice/Stale und Local Keep-Stale. Was wird durch das Beschneiden entfernt?

    Wählen Sie eine Antwort.

  6. Frage 6 von 6

    Welche Prüfungen sind gemeinsam erforderlich?

    Wählen Sie jede zutreffende Antwort aus.

0 von 6 korrekt

Sie haben alle erforderlichen Fragen richtig beantwortet.

In diesem Browser überprüft.

Üben

Sagen Sie die beiden ursprünglichen Seitenversionen nach dem Abrufen voraus: Index und Arbeit bleiben beide H6, während der neue Remote-Baum Leos Fußzeile enthält. Stellen Sie in der separaten Dirty-Wiedergabe sicher, dass der gesamte Festplattentext erhalten bleibt und kein Konflikt entsteht. Erklären Sie in B, warum Keep-Stale das Beschneiden überlebt. Beenden Sie nur das Original am Kontrollpunkt clean0/1.

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

  • Fetch aktualisiert lokales Wissen, ohne die Filiale zu integrieren.
  • Der Clean-Status bedeutet nicht, dass die Fernbedienung auf dem neuesten Stand ist.
  • Das Beschneiden lokaler Tracking-Refs unterscheidet sich vom Löschen lokaler oder Serverzweige.

Glossarbegriffe eingeführt

Holen – جلب; beschneiden – تشذيب; veraltete Remote-Tracking-Referenz – مرجع تتبُّع بعيد قديم; dahinter – متأخر; Endpunktvergleich – مقارنة الطرفين.

Videotranskript

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

Zeigen Sie das Transkript
  1. Erhalten Sie das Update ohne Ersetzen Sie Ihre aktuelle Seite.
  2. Halten Sie den Hintergrund abgeschaltet für diese Vorher-Nachher-Aufnahme.
  3. Bereiten Sie Leos separaten Klon vor mit einer fiktiven lokalen Identität.
  4. Leo nimmt auf und schiebt die Fußzeile Erinnerung an die lokale Herkunft.
  5. Der Server ist während Ihres Umzugs umgezogen Der abgerufene Datensatz blieb zurück.
  6. Diese Zählungen verwenden Ihre lokal abgerufenen Daten ref, kein Live-Server-Snapshot.
  7. Welcher Schiedsrichter wird sich bewegen und Welche Dateiversion bleibt bestehen?
  8. Alle konfigurierten Fernbedienungen abrufen; hier gibt es nur den Ursprung.
  9. Warten Sie vorher auf das Ergebnis von Git Behandeln Sie das Update als erhalten.
  10. Auswahl von Leos Commit checkt es nicht aus.
  11. Vergleichen Sie main mit dem abgerufenen Baum, ohne einen der Verweise zu verschieben.
  12. Der abgerufene Baum hat die Erinnerung; Ihre Arbeitsseite funktioniert immer noch nicht.
  13. Die ursprüngliche Arbeitsdatei behält seine alte Fußzeile.
  14. Saubere Arbeitsänderungen nicht bedeutet, dass Ihre Filiale auf dem neuesten Stand ist.
  15. Überprüfen Sie sechs lokale Commits, sieben abgerufene Commits und eins dahinter.
  16. Aktualisiertes Wissen ohne abrufen Integration der Dateiinhalte.
  17. Eine lokale Bearbeitung im selben Die Datei überlebt diesen Abruf.
  18. Der Serverzweig ist bereits vorhanden vor diesem Schnittbeispiel gegangen.
  19. Sehen Sie sich eine Vorschau der veralteten Nachverfolgung an ref, bevor Sie es entfernen.
  20. Entfernen Sie das veraltete lokale Tracking ref, nicht die örtliche Rettungsstelle.
  21. Die örtliche Niederlassung und Arbeitsseite bleiben erhalten.
  22. Ein vorheriger Abruf kann bereits erfolgen Die veraltete Tracking-Referenz wurde entfernt.
  23. Halten Sie das Original sauber und zurück eins; Nicht ziehen oder mit Gewalt drücken.
  24. Überprüfen Sie als Nächstes das Ziel bevor Sie einen Zweig veröffentlichen.