Git (Miscellaneous Commands) [German]

Allgemeine Konfiguration

Generischer Befehl:

Git speichert Einstellungen auf drei Ebenen:

  • –file (default): für das aktuelle Repository
  • –global: für den aktuellen Benutzer
  • –system: für das gesamte System

Die wichtigsten Funktionalitäten sind:

  • Einstellung abfragen:
  • Einstellung setzen (–replace-all, da sonst ein weiterer und kein neuer Wert für gespeichert wird):
  • Einstellungen abfragen:

     

Nützliche Optionen sind dabei (Git macht auch Vorschläge, wenn man TAB betätigt):

  • user.name: Benutzername für Commit-Nachrichten
  • user.e-mail: Mailadresse für Commit-Nachrichten
  • core.editor: Editor für Nachrichten oder längere Texte (bspw. nano oder [Vim])
  • alias: Setzt mal beispielsweise alias.co auf checkout, dann kann man einen Checkout von nun an auch neben dem ursprünglichen langen git checkout mit dem Kurzbefehl git co durchführen.

Repository initialisieren

  • Repository im aktuellen Verzeichnis neu erstellen:
  • Ein existierendes Repository ins aktuelle Verzeichnis klonen (–shared: auch andere Benutzer des Systems können darauf zugreifen):
  • Diese Seite wird von nun an den Namen origin tragen.

Hinzufügen, Entfernen und Anzeigen von Dateien

  • Datei file.txt zum Repository hinzufügen
  • Dies funktioniert auch für Verzeichnisse.
  • Git fügt keine leeren Verzeichnisse hinzu!
  • Der Befehl git add file.txt hat noch zwei weitere Funktionen:
  • # Stage: Falls die Datei file.txt in den nächsten Commit aufgenommen werden soll.
  • # Resolved: Falls die Datei file.txt einen Konflikt hatte und jetzt als gelöst (resolved) markiert werden soll.
  • Datei file.txt aus dem Repository löschen:
  • Datei file.txt auch vom Dateisystem löschen:
  • Datei file.txt nicht vom Dateisystem löschen:
  • Alle aktuelle versionierten Dateien anzeigen:
  • Aktuellen Status anzeigen (Was wird committed? Was wurde verändert?):
  • Mit der Option -v bekommt man die Differenz zum Original angezeigt.

Änderungen rückgängig machen

Das Äquivalent eines Reverts (svn revert file.txt) bei Subversion lautet:

Entferntes Repository

  • Änderungen holen (Äquivalent eines Updatesvn update– bei Subversion):
  • Falls man nur eine entfernte Seite hat, dann ist der Aufruf einfach:
  • Ansonsten muss man die entfernte Seite mit Namen (origin) (und ggfs. sogar Branch – master – nennen):
  • Änderungen schreiben (Äquivalent eines Commitsvn commit– bei Subversion)
  • Falls man nur eine entfernte Seite hat, dann ist der Aufruf einfach:
  • Ansonsten muss man die entfernte Seite mit Namen (origin) (und ggfs. sogar Branch – master – nennen):

Informationen über entfernte Repositories

  • Ausführliche Informationen über remote comp5lx mittels git remote show :
  • Option -n verhindert, dass der Remote angesprochen wird, ansonsten funktioniert die Anfrage nur, wenn man gerade online ist.

Nachträglich entfernte Repositories tracken

Es kann unter Umständen passieren, dass der aktuelle lokale Branch einen entfernten Branch origin/b_remote nicht trackt und man dies nachholen möchte. In diesem Fall kann man mit der Option -u beim Pushen den Upstream Branch aktualisieren:

Siehe auch: hier

Gespeicherte Zwischenstände (Tags)

Git bietet anders als Subversion eine integrierte Verwaltung von Tags:

  • Alle Tags auflisten:
  • Tag erstellen (-f erzwingt Überschreiben):
  • Tag löschen:

Zweige (Branches)

  • Alle Branches auflisten:
  • Branch neuer_branch erstellen
  • Branch löschen:
  • Änderungen aus dem Branch neuer_branch in den Branch master übernehmen:

 

GitHub mit einem anderen Identity File verwenden

Normalerweise nimmt der SSH-Befehl an, dass der öffentliche Schlüssel unter ~/.ssh/id_rsa.pub zu finden ist.
Möchte man nun einen anderen Schlüssel verwenden, dann sind die folgenden Schritte nötig:

    • Füge eine Hostdefinition in die Datei ~/.ssh/config ein:
    • Hinzufügen/Klonen der remote site:

Diverses

  • Passwort temporär speichern (default: 900 Sekunden):
  • Fast Forward deaktivieren für Merges in den Master:
  • Lokale Kopien von entfernten Branches löschen, falls diese nicht mehr existieren:
  • Übersicht über den Zustand des Repositories:
  • Grafisch mit Git arbeiten:
  • Branches löschen, dir zwar als remote/… gekennzeichnet sind, aber in Wirklichkeit nicht mehr auf dem jeweiligen Remote-Server existieren:
  • Hübsche Bash-Prompt:

git.config (Beispiel)

Nutzerspezifische Einstellungen werden in der Datei ‘~/.gitconfig’ gespeichert:

Links

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Please type the characters of this captcha image in the input box

Please type the characters of this captcha image in the input box