17 Punkte von GN⁺ 2023-10-08 | 1 Kommentare | Auf WhatsApp teilen
  • Detaillierte Erklärung des .git-Verzeichnisses, das bei git init erstellt wird
  • Das .git-Verzeichnis enthält verschiedene Dateien und Ordner wie config, HEAD, hooks, objects und refs
    • Die Textdatei config enthält die Git-Einstellungen des aktuellen Repositorys sowie Grundeinstellungen wie Autor und Dateimodus
    • Die Datei HEAD enthält den aktuellen Head des Repositorys, der auf den Standard-Branch zeigt. Je nachdem, welcher Standard-Branch gewählt wurde, also etwa master oder main
    • Das Verzeichnis hooks enthält alle Skripte, die vor oder nach Git-Aktionen ausgeführt werden können
    • Das Verzeichnis objects enthält Daten zu den Dateien und Commits des Repositorys
    • Das Verzeichnis refs speichert Referenzen bzw. Zeiger auf Branches und Tags
  • Wenn eine Datei zum Repository hinzugefügt wird, wird die Datei index verändert und im Verzeichnis objects werden ein neuer Ordner und neue Dateien angelegt
  • Die neue Datei im Verzeichnis objects enthält Typ, Größe und Daten der hinzugefügten Datei; ihr Dateiname wird aus dem SHA-1-Inhalt abgeleitet
  • Wenn eine Datei committet wird, entstehen mehrere Änderungen, darunter die Erstellung einer neuen Datei namens COMMIT_EDITMSG, die die Commit-Nachricht enthält, sowie neue Objekte im Verzeichnis objects
  • Das Erstellen eines Branches ist in Git ein einfacher Vorgang: Im Verzeichnis refs/heads wird eine neue Datei mit dem Branchnamen und der ID des neuesten Commits angelegt
  • Das Auschecken eines Branches umfasst die Aktualisierung der Datei .git/HEAD, sodass sie auf den ausgecheckten Branch zeigt
  • Das Zusammenführen von Branches kann auf drei Arten erfolgen: Fast-Forward-Merge, Rebase-Merge oder durch die Erstellung eines separaten Merge-Commits
  • Wenn ein Repository gepusht wird, werden alle Inhalte des Verzeichnisses objects sowie alle explizit gepushten Branches und Tags unter refs an ein anderes Git-Repository übertragen

1 Kommentare

 
[Dieser Kommentar wurde ausgeblendet.]