Einführung in Git

Aus Laub-Home Wiki

Git ist ein Open Source Programm für eine dezentrale Versionsverwaltung und für die gängigsten Plattformen verfügbar (u.a. Windows, Linux, MacOS und BSD). Zumeist wird Git bei der Software-Entwicklung eingesetzt, allerdings können mit Hilfe von Skripten/Add-Ons auch andere Dokumenten-Typen wie z.B. odt verwaltet werden. U.a. kommt Git bei der Entwicklung des Linux-Kernels zum Einsatz.

Oft genutzte Befehle

  • Erstellen eines neuen Repositories im aktuellen Verzeichnis:
    git init
    
  • Erstellen eines Bare Repositories (nicht für lokale Bearbeitung vorgesehen, kommt meist bei Servern zum Einsatz):
    git init --bare
    
  • Hinzufügen von allen Dateien des aktuellen Verzeichnisses (und Unterverzeichnissen) zur Staging Area:
    git add .
    
  • Erstellen eines Snapshots der aktuellen Staging Area (Commit):
    git commit -m "[commit message|description]"
    
  • Anzeigen der Versions-Historie des aktiven Snapshots:
    git log
    
  • ASCII-Darstellung der Versions-Historie (in Farbe und Kurzform) des aktuellen Snapshots:
    git log --color --graph --oneline
    
  • Erstellen einer lokalen Kopie eines Remote Repositories (z.B. von SourceForge) im aktuellen Verzeichnis:
    git clone [URL] [name]
    
    "name" ist optional, unter diesem Namen kann das Repository dann in Zukunft angesprochen werden und man muss sich nicht die lange URL merken.
  • Aktualisieren einer lokalen Kopie eines Repositories:
    git pull [URL|name]
    
  • Senden der lokal getätigten Änderungen an ein Remote Repository (darf keine Kollisionen enthalten!):
    git push [URL|name]
    
  • Zurücksetzen der Dateien zu einem anderen Stand aus dem Repository (checkout):
    git checkout [git hash|branch]
    
  • Anzeigen aller Git-Branches:
    git branch
    
  • Erstellen eines neuen Branches am aktuellen Versionsstand:
    git branch [new branch name]
    
  • Erstellen eines neuen Branches am aktuellen Versionsstand und gleichzeitiges Wechseln in diesen:
    git checkout -b [new branch name]
    
  • Kombinieren (mergen) des aktiven Branches mit einen anderen Branch:
    git merge [branch]
    

Weblinks