Zum Inhalt springen
GitTree

Lektion 4 · Stiftungen

Erstellen Sie Ihr Kurs-Repository und unterscheiden Sie dann zwischen Klonen und Öffnen

Erstellen Sie GitTree-Features über den Bildschirm „Neuer Tab“ von GitTree und stellen Sie sicher, dass noch keine Commits vorhanden sind. Erstellen Sie dann einen separaten lokalen Klon, um zu sehen, warum das Öffnen eines Ordners, das Initialisieren des Verlaufs und das Kopieren eines Repositorys unterschiedliche Aktionen sind.

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

  • Initialisieren Sie das erste Kurs-Repository in GitTree mit einem expliziten Zweignamen.
  • Erkennen Sie einen ungeborenen Zweig, ohne einen ersten Commit zu erfinden.
  • Speichern Sie die fiktive Identität nur im Kurs-Repository.
  • Klonen Sie dasselbe leere Repository in einen separaten Ordner und überprüfen Sie seinen Ursprung.
  • Öffnen Sie das Original erneut, ohne ein anderes Repository zu erstellen oder zu kopieren.

Bevor Sie beginnen

Beginnen Sie dort, wo die Lektionen 2 und 3 enden: Git ist verfügbar und es gibt kein Kurs-Repository. Vorschau von Lektion 2 GitTree Demo; Die globale Konfiguration wurde nicht gespeichert. Sie benötigen einen vorhandenen, beschreibbaren übergeordneten Ordner, der für Kursarbeiten reserviert ist. Das untergeordnete Element gittree-features muss neu oder leer sein und sich außerhalb vorhandener Quell-Checkouts befinden. Führen Sie keine Initialisierung innerhalb dieses Web-Repositorys oder eines persönlichen Projekts durch.

Verwenden Sie Git, um den überprüften GitTree-Mindestwert 2.39.0 zu erfüllen. Die Befehle und Bildschirme im Video wurden mit Git 2.52.0 und GitTree 2.0 auf Ubuntu 24.04 in einem privaten Home-Ordner aufgezeichnet und die Prüfungen in diesem Artikel wurden anhand der durch die Aufzeichnung erstellten Repositorys durchgeführt. Sie wurden nicht auf macOS oder Windows ausgeführt. Standardverknüpfungen verwenden Befehl für macOS und Strg für Windows und Linux; Die native Ordnerauswahl sieht auf jedem System anders aus und wurde nicht gefilmt.

Sobald Sie bei GitTree angemeldet sind, benötigen diese lokalen Workflows keine Anbieterintegration, weder Pro noch Testversion: Der kostenlose Plan deckt sie ab. Der Klon verwendet eine file://-URL auf demselben Computer, keine gehosteten GitLab- oder Claude-Anmeldeinformationen.

Konzept

Init erstellt Git-Repository-Metadaten für ein ausgewähltes Verzeichnis. Es wird kein Commit erstellt, nur weil ein Zweigname vorhanden ist. Ein neues gewöhnliches Repository verfügt über ein Arbeitsbaumverzeichnis und einen zunächst leeren Index. HEAD kann refs/heads/main symbolisch benennen, bevor dieser Zweig einen Commit hat, der auf Folgendes verweist: ein unborn branch.

Clone erstellt ein anderes Repository aus einer Quelle. Normalerweise kopiert es den verfügbaren Verlauf und checkt den ausgewählten Quellzweig aus, während ein Remote namens origin aufgezeichnet wird. Hier ist die Quelle bewusst leer, sodass kein Verlauf oder Arbeitsinhalt kopiert werden kann. Das ist ein gültiger Randfall, kein fehlgeschlagener Upload.

Open wählt ein vorhandenes Repository zur Inspektion in GitTree aus. Das Öffnen eines Tabs bedeutet nicht das Klonen seiner Dateien, das Erstellen eines Commits oder das Hinzufügen eines Hosting-Dienstes. Die App kann ihren aktuellen Status/Arbeitsbereichsstatus aktualisieren und separat Vertrauensprüfungen durchführen.

Die drei Verben ähneln dem Erstellen eines neuen Notizbuchs, dem Erstellen einer separaten Kopie und dem Platzieren eines vorhandenen Notizbuchs auf Ihrem Schreibtisch. Erweitern Sie die Analogie nicht auf Berechtigungen: Die Einstellungen oder Hooks eines Repositorys können Programme ausführen, daher überprüft GitTree deren Vertrauen, anstatt „offen“ als bedingungslose Ausführungsberechtigung zu behandeln.

Aktion in dieser LektionArbeitsbaum/IndexLokale SchiedsrichterRemote-Referenzen/Konfiguration
Original mit main initialisierenNeuer gewöhnlicher Arbeitsbaum; Keine Projektdateien oder indizierten EinträgeDer symbolische KOPF benennt das ungeborene Haupt; kein Commit-TippKeine Fernbedienung konfiguriert
Speichern Sie die lokale Demo-IdentitätKeine Datei-/Index-/VerlaufsinhaltsänderungenKeine ReferenzänderungenSchreibt nur user.name/user.email in die ursprüngliche Repository-Konfiguration
Original in einen separaten Ordner klonenNeuer leerer Arbeitsbaum/Index in der KopieImmer noch keine CommitsDer Ursprung der Kopie zeigt auf das Original. Es existiert noch kein Remote-Tracking-Branch-Tipp
Original erneut öffnenWählt das vorhandene Original aus; keine DuplizierungKeine Commit-/Ref-ErstellungOriginal bleibt ohne Fernbedienung

Ein Bare-Repository ist ein Verlaufsspeicher ohne normale Arbeitsdateien. Dies ist für spätere Serverübungen nützlich, für die Erstellung dieser Zielseite ist es jedoch die falsche Wahl. Optionale .gitignore/licence-Vorlagen würden nicht festgeschriebene Dateien erstellen; weigern Sie sich, diesen Kontrollpunkt zu erhalten.

Informationen zur nativen Semantik finden Sie unter git-init und git-clone. Die Prüfungen der App auf leere/neue Ziele sind strenger als die native Git-Fähigkeit, ein vorhandenes Repository neu zu initialisieren. Verwenden Sie das Terminal nicht, um einer App-Ablehnung zu entgehen, ohne zu verstehen, was es schützt.

In GitTree – die kanonische erste Initialisierung

Die actual current-source labels sind „Neuer Tab“-Karte Init, Dialog Initialize a repository, Senden Initialize. „Ein Repository initialisieren“ war im älteren Plan beschreibend und nicht der aktuelle Schaltflächentext.

  1. Wählen Sie New Tab (tab.new), Command+T / Ctrl+T. Erwarten Sie die Karten Open, Clone und Init.
  2. Klicken Sie auf Init. Erwarten Sie Initialize a repository, wobei vor der Übermittlung keine Änderungen gespeichert werden. Alternative: Command Palette… mit Command+Shift+P / Ctrl+Shift+P → Initialize Repository… (repo.init). Für Init wird keine direkte Standardverknüpfung aktiviert.
  3. Geben Sie in Location den vollständigen Pfad zu Ihrem neuen gittree-features-Verzeichnis unter dem reservierten vorhandenen übergeordneten Verzeichnis ein. Sie können Browse… verwenden, dann die native Auswahl Choose where to create the repository; Native OS-Auswahlschaltflächen werden hier nicht erfunden. Überprüfen Sie nach dem Durchsuchen noch einmal den endgültigen vollständigen Standort.
  4. Setzen Sie Initial branch auf main. Behalte Bare repository (history only, no working files) off.
  5. Setzen Sie .gitignore template und Licence auf None, wenn diese Vorlagensteuerelemente geladen werden. Ihre Standardeinstellungen sind keine Auswahl; Wenn die Steuerelemente fehlen, fügen Sie Dateien nicht stillschweigend an anderer Stelle hinzu. Behalte Open after creating on.
  6. Überprüfen Sie den Standort, Haupt-, Bare-Off-, Vorlagen-Keine und Open-After-On. Wählen Sie einmal Initialize. Erwarten Sie, dass das Repository erstellt und geöffnet wird, möglicherweise über den normalen Vertrauensworkflow. Drücken Sie während der Wartezeit nicht wiederholt.
  7. Wenn Trust this repository? angezeigt wird, überprüfen Sie den tatsächlichen Pfad und die Ergebnisse. Cancel lässt es ungeöffnet; Open in Restricted Mode schränkt Vorgänge ein; Trust and Open erlaubt normale Repository-Einstellungen/Hooks. Wählen Sie für diese selbst erstellte Sandbox „Vertrauen“ und „Öffnen“ erst, nachdem die Ergebnisse verstanden wurden. In der Aufzeichnung erschien keine Vertrauensaufforderung für den neuen Ordner; Erwarten Sie nicht, dass jedes neue Repository diesen Dialog anzeigt.
  8. Bestätigen Sie, dass es sich bei der Registerkarte um das Original gittree-features handelt, nicht um die übergeordnete Registerkarte oder eine ähnlich benannte Kopie. Sein Diagramm hat noch keinen Commit. Erstellen Sie keinen anfänglichen „Bereinigungs“-Commit, um den leeren Zustand zu entfernen.

Speichern Sie die Repository-lokale fiktive Identität

  1. Öffnen Sie bei aktivem Original Preferences (app.preferences.open), Command+, / Ctrl+,.
  2. Wählen Sie im Repository-spezifischen Navigationsbereich gittree-features aus. Dabei handelt es sich um den Namen des dynamischen Repositorys, nicht um eine globale Profilseite. Bei schmalen Breiten lautet die Seitenauswahlbezeichnung Repo-Specific: gittree-features.
  3. Suchen Sie nach Name for commits (Einstellung repo.userName, unterstützender Git-Schlüssel user.name). Wählen oder bestätigen Sie unter Writes to Local (this repository). Wählen Sie nicht Global (every repository).
  4. Geben Sie GitTree Demo ein und wählen Sie das Apply der Zeile aus. Alternativ können Sie in diesem Feld Enter drücken. Warten Sie Saved, bevor Sie fortfahren.
  5. Überprüfen Sie für Email for commits (repo.userEmail, unterstützt user.email) dasselbe lokale Ziel, geben Sie demo@example.com und dann Apply oder die Eingabetaste ein. Warten Sie auf „Gespeichert“.
  6. Wählen Sie Exit Preferences. Erwarten Sie, dass das ursprüngliche Repository noch aktiv und sein Verlauf noch leer ist. Die lokale Konfiguration wurde geändert, nicht die Arbeitsdateien oder das Diagramm.

Allein das Tippen hinterlässt einen Entwurf. Escape in einem schmutzigen Feld bricht diesen Entwurf zuerst ab; Es ist keine garantierte Abkürzung, „alles zu lassen“. Aufgrund des expliziten Ziels „Anwenden/lokal“ unterscheidet sich dieser Schritt von der abgebrochenen Vorschau in Lektion 2.

Überprüfen Sie im Terminal das App-Ergebnis

Ersetzen Sie <course-parent> durch Ihren eigenen reservierten absoluten übergeordneten Pfad und setzen Sie die Pfade in Anführungszeichen. Führen Sie diese nach der App-Initialisierung aus, nicht im Web-Checkout:

Command · bash
cd "<course-parent>/gittree-features"
git rev-parse --is-inside-work-tree
git rev-parse --is-bare-repository
git symbolic-ref --short HEAD

Beobachtete Abfrageergebnisse in der Reihenfolge:

Ausgabe
true
false
main

Beweisen Sie, dass kein Commit existiert:

Command · bash
git rev-parse --verify --quiet HEAD

Beobachtet: no stdout or stderr; exit status 1. Das ist das erwartete ungeborene Ergebnis, keine Korruptionsdiagnose. Symbolischer HEAD und Revisionsüberprüfung beantworten unterschiedliche Fragen.

Überprüfen Sie Dateien, Indizes und Remote-Namen:

Command · bash
git status --short
git ls-files
git remote

Jeder Befehl erzeugte no output and exited 0 im Fixture. Diese Abfragen allein beweisen nicht, dass jede ignorierte Datei fehlt. Überprüfen Sie in Ihrem Dateimanager den reservierten Ordner mit sichtbaren versteckten Elementen: Er sollte Repository-Metadaten .git, aber noch keine Projektdateien enthalten. Bearbeiten Sie nichts innerhalb von .git.

Nur die beiden expliziten lokalen Identitätsfelder lesen:

Command · bash
git config --local --get user.name
git config --local --get user.email

Beobachtet:

Ausgabe
GitTree Demo
demo@example.com

Es ist kein persönlicher/globaler Konfigurations-Dump erforderlich.

Native Initialisierungsalternative – kein zweiter kanonischer Start

Das native Äquivalent für einen separate disposable comparison copy oder jemanden, der Git ohne die App lernt, ist:

Command · bash
cd "<course-parent>"
git init --quiet --initial-branch=main --template= gittree-features

Es wurde keine Ausgabe ausgegeben und im isolierten Fixture 0 ausgegeben. Do not rerun it on the original already created in GitTree. Die Option „Leere native Vorlage“ steuert das Vorlagenverzeichnis von Git; Es handelt sich nicht um den optionalen .gitignore/licence-Selektor der App. Auf einer normalen Maschine müssen geerbte Vorlagen/Einstellungen noch überprüft werden.

Wenn Sie die Identität über den nativen Pfad statt über die App-Zeile festlegen, wählen Sie zuerst das neue Repository aus und schreiben Sie bewusst nur die lokale Konfiguration:

Command · bash
cd "<course-parent>/gittree-features"
git config --local user.name "GitTree Demo"
git config --local user.email demo@example.com

Bei beiden Schreibvorgängen handelte es sich um stille erfolgreiche Vorgänge in der isolierten Verifizierungskopie. Sie sind Alternativen zu den App-Schreibvorgängen und kein Grund, die Überprüfung der App-Version zu überspringen.

Klonen Sie eine separate lokale Kopie

Diese kleine Nebenübung verwendet dasselbe Projekt, keine zweite Demoanwendung. Die original stays the course checkpoint und müssen vor Lektion 5 wieder aktiv sein. Es handelt sich nicht um eine zum Original hinzugefügte Fernbedienung.

In GitTree

  1. Öffnen Sie „Neuer Tab“ und dann Clone. Alternative Palette: Clone Repository… (repo.clone). Erwarten Sie Clone a repository.
  2. Wählen Sie Clone with URL. Geben Sie in Repository URL die absolute lokale URL des Originals ein, zum Beispiel file:///absolute/course-parent/gittree-features, und ersetzen Sie dieses Beispiel durch Ihren tatsächlich reservierten Pfad. Der URL-Parser der App akzeptiert absolute Datei-URLs; Ein roher lokaler Pfad ist nicht die unterstützte Eingabe. Verwenden Sie für diese erste Übung einen einfachen Sandbox-Pfad ohne Leerzeichen. Die URL-Kodierung und die Windows-Laufwerkssyntax erfordern eine eigene Plattformüberprüfung.
  3. Wählen Sie in Parent folder denselben vorhandenen übergeordneten Kurs aus. Geben Sie in Folder name explizit gittree-features-copy ein. Überprüfen Sie, ob Clones into auf die Kopie not the original verweist.
  4. Lassen Sie Depth leer, um den vollständigen Verlauf anzuzeigen. Halten Sie Also clone submodules, Sparse checkout: only the top-level files at first, then the folders you choose und Download file contents only when they are needed (blobless) ausgeschaltet. Behalten Sie Open after cloning bei.
  5. Wählen Sie einmal Clone. Erwarten Sie einen tatsächlichen Klonfortschritt oder eine schnelle Fertigstellung dieser leeren lokalen Quelle, dann wird die Kopie durch eine erforderliche Vertrauensprüfung geöffnet. Bestehen Sie nicht darauf, dass bei einem so kleinen Betrieb jede Fortschrittsphase sichtbar ist.
  6. Überprüfen Sie das leere Diagramm der Kopie und verwenden Sie die folgenden Terminalprüfungen. Sein origin gehört zu the copy und zeigt auf das Original. Ein konfigurierter Ursprung ist kein vorhandener Remote-Tracking-Zweig oder gehosteter Anbieter.
  7. Um zurückzukehren, wählen Sie Open aus „Neuer Tab“ oder Open Repository… (repo.open), Command+O / Ctrl+O, wählen Sie den ursprünglichen Ordner gittree-features aus und überprüfen Sie alle erforderlichen Vertrauensaufforderungen. Die Aufnahme verwendete stattdessen die Schaltfläche Open in der Zeile des Originals in Recent auf „Neuer Tab“, wodurch sie auf die gleiche Weise geöffnet wurde. Die Systemauswahl wurde nicht gefilmt. Alternativ können Sie den ursprünglichen Ordner auf der Ordner-Ablageoberfläche des neuen Tabs ablegen (nicht gefilmt). Erwarten Sie das Original ausgewählt/geöffnet; Versprechen Sie nicht, ob der aktuelle Build eine Registerkarte wiederverwendet oder eine andere erstellt.
  8. Lassen Sie die ergänzende Kopie unberührt. Sie müssen es nicht löschen, um fortzufahren. Bestätigen Sie vor Lektion 5, dass das Original noch keine Fernbedienung und die lokale Demo-Identität hat.

Nativer Vergleich und Ergebnis

Vom reservierten übergeordneten Element in einem separate take where the destination does not exist:

Command · bash
git clone --quiet "file://<absolute-source-path>" gittree-features-copy

Hier beginnt <absolute-source-path> mit / in der macOS-Aufzeichnung und erstellt eine URL mit drei Schrägstrichen nach file:. Ersetzen Sie den Platzhalter; Geben Sie die spitzen Klammern nicht ein. Das genaue beobachtete stderr, trotz erfolgreichem Exit 0:

Ausgabe
warning: You appear to have cloned an empty repository.

Fragen Sie nun die Kopie ab:

Command · bash
cd "<course-parent>/gittree-features-copy"
git remote
git symbolic-ref --short HEAD
git config --local --get user.name

Die ersten beiden beobachteten Ergebnisse:

Ausgabe
origin
main

Die letzte Abfrage gibt nichts aus und beendet 1: Beim Klonen wurde die lokale user.name-Konfiguration des Originals nicht kopiert. Eine externe globale Einstellung kann dennoch eine effektive Identität auf Ihrem realen Computer bereitstellen; Die local-Abfrage beantwortet bewusst nur das, was dieser Klon enthält. Lesen Sie nicht die gesamte globale Konfiguration auf der Kamera. Wir verpflichten uns nicht innerhalb der Kopie.

Ergebnis

Am Ende dieser Lektion ist das Original ein gewöhnliches Repository mit symbolischem ungeborenem Haupt-Repository, ohne Commit, ohne Projektdateien, mit einem leeren logischen Index, ohne Remote und mit lokaler Identität GitTree Demo / demo@example.com. Der optionale zusätzliche Klon hat einen Ursprung, aber keinen Verlauf; es liegt außerhalb des laufenden Projektkontrollpunkts.

Das Diagramm bleibt konstruktionsbedingt leer. Lektion 5 erstellt README.md und index.html und führt den ersten absichtlichen Commit durch.

Häufige Fehler

  • Choosing the parent instead of the new child: Überprüfen Sie den Standort und die aktive Registerkarte, bevor Sie in die Konfiguration schreiben.
  • Choosing bare mode: Ein bloßes Repository stellt nicht die normalen Arbeitsdateien der Zielseite bereit.
  • Adding templates: Sie führen nicht verfolgte Dateien ein, die nicht zu diesem leeren Prüfpunkt gehören.
  • Treating unborn HEAD as corrupt: symbolisches Main ohne Commit ist direkt nach Init normal.
  • Das Cloning onto the original:-Ziel muss ein separater neuer/leerer Ordner sein.
  • Assuming clone copies local identity: Es kopiert den Repository-Verlauf, nicht die lokale Benutzername/Benutzer-E-Mail-Adresse des Originals.
  • Continuing in the copy: Aufgrund seines Ursprungs unterscheidet sich sein Zustand vom kanonischen Original.

Wenn etwas schief geht

Eine Ablehnung eines nicht leeren Ziels bedeutet, dass GitTree einen vorhandenen Ordner geschützt hat. Wählen Sie ein neues leeres untergeordnetes Element. Löschen Sie den Inhalt nicht, um den Fehler zu unterdrücken. „Der Ordner, der ihn enthalten sollte, existiert nicht“ bedeutet, dass Sie den reservierten übergeordneten Ordner absichtlich erstellen/auswählen müssen, bevor Sie es erneut versuchen.

Wenn bereits ein Repository vorhanden ist, open it und prüfen Sie es; Initialisieren Sie es nicht neu, damit der Kurs frisch aussieht. Wenn es sich um eine Arbeit ohne Zusammenhang handelt, lassen Sie sie unverändert und wählen Sie einen separaten Kursordner.

Wenn das Klonen fehlschlägt, lesen Sie den tatsächlichen Fehler und das Bereinigungsergebnis. GitTree unterscheidet einen entfernten Klon-eigenen Ordner, einen beibehaltenen bereits vorhandenen Ordner, unerwarteten zusätzlichen Inhalt und einen Bereinigungsfehler. Cancel Clone beantragt Stornierung; Es ist kein Beweis dafür, dass jedes Byte verschwunden ist. Überprüfen Sie die gespeicherten Inhalte, bevor Sie etwas entfernen. Die Warnung vor leerer Quelle allein ist kein Fehler.

Wenn die Vertrauensergebnisse unbekannt sind, wählen Sie „Abbrechen“ oder den eingeschränkten Modus. Vertrauen Sie nicht pauschal einem beliebigen Repository, um eine Lektion zu meistern. Der eingeschränkte Modus deaktiviert den Netzwerkbetrieb und kann die Aktionen im Arbeitsbaum einschränken.

Ü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

    Das Kurs-Repository ist bereits auf der Festplatte vorhanden. Welche Aktion zeigt es an, ohne es zu kopieren?

    Wählen Sie eine Antwort.

  2. Frage 2 von 6

    Welche Auswahlmöglichkeiten bewahren den beabsichtigten ursprünglichen Prüfpunkt?

    Wählen Sie jede zutreffende Antwort aus.

  3. Frage 3 von 6
    Erforderlich

    Symbolic-ref druckt main; verify --quiet HEAD beendet 1 nach der Initialisierung stillschweigend. Was bedeutet das?

    Wählen Sie eine Antwort.

  4. Frage 4 von 6
    Erforderlich

    Wählen Sie in einer separaten Neuinitialisierung Trunk statt Main ohne Commit aus. Was gibt symbolic-ref --short HEAD aus?

    Wählen Sie eine Antwort.

  5. Frage 5 von 6

    Das Klonen des leeren Originals gelingt mit einer Warnung vor leerer Quelle. Welche Aussagen sind richtig?

    Wählen Sie jede zutreffende Antwort aus.

  6. Frage 6 von 6
    Erforderlich

    Kehren Sie zum Original zurück und prüfen Sie nur die benannten Abfragen. Welche Beweise müssen übereinstimmen?

    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

Öffnen Sie das Original erneut über Open Repository… oder Ordner-Drop. Führen Sie die drei Statusabfragen aus, überprüfen Sie das fehlende HEAD-Commit, leere Status-/Index-/Remoteabfragen und die beiden lokalen Identitätswerte. Erklären Sie, warum main ohne Commit sichtbar ist und warum die zusätzliche Kopie, falls erstellt, einen Ursprung hat, das Original jedoch nicht.

Changed-input prediction: Wenn eine separate neue Initialisierung Initial branch = trunk verwendet, sagen Sie git symbolic-ref --short HEAD voraus. Es wird trunk gedruckt; Es wird immer noch kein Commit erstellt. Dies wurde in einem anderen isolierten nativen Gerät überprüft. Benennen Sie den Hauptzweig des weiterführenden Kurses nicht um, um die Vorhersage durchzuführen.

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

  • Init erstellt Repository-Metadaten; Klon erstellt eine separate Kopie; Öffnen wählt vorhandene Daten aus.
  • Ein neuer Main kann ungeboren sein: Es ist kein erstes Commit impliziert.
  • Halten Sie die lokale Identität und den Zusatzklonstatus getrennt von den globalen Einstellungen und dem kanonischen Projekt.

Glossarbegriffe eingeführt

Initialisieren – تهيئة; Klon – استنساخ; Aufbewahrungsort – مستودع; Zweig – فرع; entfernt – بعيد; Arbeitsbaum – مجلد العمل; Bereitstellungsbereich – منطقة التجهيز. „Ungeborener Zweig“ bezeichnet einen Zweignamen ohne ersten Commit; HEAD und origin bleiben Literalbezeichner.

Videotranskript

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

Zeigen Sie das Transkript
  1. Erstellen Sie dann das Kurs-Repository Trennen Sie das Klonen vom Öffnen.
  2. Verwenden Sie draußen einen reservierten übergeordneten Ordner vorhandene Quellrepositorys.
  3. Initialisieren Sie einen neuen Verlauf und klonen Sie einen separaten Repository oder öffnen Sie ein vorhandenes.
  4. Beginnen Sie im Inneren GitTree auf dem Bildschirm „Neuer Tab“.
  5. Wählen Sie Init. Überprüfen Sie den Dialog bevor Sie etwas erstellen.
  6. Geben Sie den vollständigen Pfad zum ein Neuer Gittree-Features-Ordner.
  7. Die native Ordnerauswahl ist eine Alternative; Überprüfen Sie den endgültigen Standort erneut.
  8. Wählen Sie stattdessen explizit main aus sich auf eine Maschinenvorgabe zu verlassen.
  9. Lassen Sie den Bare-Modus aus diesem Grund ausgeschaltet Das Projekt benötigt Arbeitsdateien.
  10. Lehnen Sie beide optionalen Vorlagen ab um den leeren Kontrollpunkt zu erhalten.
  11. Nach dem Erstellen offen halten aktiviert, Überprüfen Sie dann jede Auswahl.
  12. Einmal initialisieren und warten das tatsächliche Repository-Ergebnis.
  13. Wenn eine Vertrauensüberprüfung angezeigt wird, lesen Sie die Feststellungen, bevor Vertrauen gewährt wird.
  14. Das Original existiert, aber Beim ersten Commit ist dies nicht der Fall.
  15. HEAD kann vorher main benennen main hat einen Commit, auf den verwiesen werden soll.
  16. Öffnen Sie die Einstellungen dieses Repositorys Seite, nicht die globale Profile-Seite.
  17. Überprüfen Sie vorher das Schreibziel Eingabe der fiktiven Identität.
  18. Wenden Sie GitTree Demo wie folgt an Commit-Name des Repositorys.
  19. Wenden Sie die fiktive E-Mail an im gleichen lokalen Bereich.
  20. Enter kann auch ein Feld anwenden. Ausstieg erst nachdem beide Schreibvorgänge erfolgreich waren.
  21. Überprüfen Sie, ob Sie drinnen sind der ursprüngliche Arbeitsbaum.
  22. Die Bare-Repository-Prüfung muss falsch sein.
  23. Der symbolische Zweig Der Scheck sollte „main“ ausdrucken.
  24. Es wurde noch kein Commit aufgelöst. Still Ausgang eins wird hier erwartet.
  25. Diese drei Inspektionen sollte keine Ausgabe erzeugen.
  26. Lesen Sie nur die beiden lokalen Identitäten Werte, keine privaten globalen Einstellungen.
  27. Native Git kann ebenfalls initialisieren, tut dies aber nicht Initialisieren Sie das von der App erstellte Original neu.
  28. Kopieren Sie nun dasselbe leere Repository in einen separaten lokalen Ordner.
  29. Öffnen Sie Clone und verwenden Sie den URL-Pfad statt einer Anbieterkontoliste.
  30. Verwenden Sie eine absolute Datei-URL für Original, kein roher lokaler Pfad.
  31. Benennen Sie das Ziel explizit und bestätigen Sie, dass es sich nicht um das Original handelt.
  32. Behalten Sie die Standardeinstellungen für den gesamten Verlauf bei Lassen Sie die erweiterten Klonoptionen deaktiviert.
  33. Führen Sie den Klon aus und lassen Sie ihn laufen tatsächlicher Fortschritt, Ende.
  34. Eine leere Quelle erzeugt eine Kopie ohne verpflichtet sich; das kann trotzdem gelingen.
  35. Die Warnung vor leerem Repository ist an sich kein Misserfolg.
  36. Die Kopie hat Ursprung und ein Ungeborenes main, keine gehostete Pipeline.
  37. Beim Klonen wurde das Original nicht kopiert Einstellung des lokalen Commit-Namens.
  38. Der Ursprung gehört zur Kopie. Die Das Original hat keine Fernbedienung erhalten.
  39. Öffnen Sie das Original erneut bevor Sie den Kurs fortsetzen.
  40. Das Löschen des vorhandenen Ordners ist eine andere Möglichkeit, es zu öffnen, nicht zu klonen.
  41. Überprüfen Sie das Original noch einmal: keine Fernbedienung, kein Commit und die lokale Demo-Identität.
  42. Eine separate Initialisierung mit Trunk meldet Trunk, immer noch ohne Commit.
  43. Eine Zielverweigerung schützt vorhandene Inhalte. Wählen Sie einen neuen Ordner.
  44. Wenn ein Klon fehlschlägt oder abgebrochen wird, Lesen Sie, was bei der Bereinigung tatsächlich erhalten blieb.
  45. Rückgängigmachen und erneutes Protokollieren sind kein versprochenes Rollback zur Initialisierung oder Identitätseinstellungen.
  46. Init erstellt Metadaten, Clone erstellt a Kopieren und Öffnen wählt vorhandene Daten aus.
  47. Überprüfen Sie den Zustand des Originals bevor Sie die ersten Dateien hinzufügen.
  48. Als nächstes erstellen Sie den Helden und machen ihn die erste bewusste Begehung.