Show Menu
Cheatography

git command line Cheat Sheet by

Git Kommandos für die Shell

Grundb­efehle

git clone <ur­l>
Erzeugt eine lokale Kopie eines Git Reposi­tories (es werden keine Schrei­brechte benötigt)
git status
gibt den aktuellen Zustand der Working Copy aus
git commit -a
Fügt alle lokalen Änderungen dem Repository hinzu (ohne Übertr­agung an den Remote Host)
git reset --hard origin­/<b­ran­ch-­nam­e>
Setzt local auf den HEAD Stand zurück. Lokale commits werden verworfen.
git clean -f -d
Löscht alle temporären Dateien und Folder z.B. Files die nicht unter git Kontroller stehen
git push
Veröff­ent­lichung der lokalen Commits auf dem Remote Repository
git branch
Liste alle lokal bekannten Branches auf
git branch <br­anc­h-n­ame>
Erstellt lokal einen neuen Branch, bleibt aber auf dem Alten
git branch -D <br­anc­h-n­ame>
Löscht einen Branch unabhängig davon ob er im upstream existiert
git push origin --delete <br­anc­h>
Löscht auch den Remote Branch erfolg­reich
git checkout <br­anc­h-n­ame>
Wechselt zu einem anderen Branch
git tag --delete <ta­gna­me>
Löscht den Tag lokal
git push --delete origin <ta­gna­me>
Löscht den Tag im Remote Repo
git stash
Lokale Änderungen als Backup auf einen internen Stack legen.
git stash pop
Lokale Änderungen aus dem Stack wieder­holen
git remote add upstream <ur­l>
Alias upstream zum master eines Remote Repos definieren
git remote add –track <branch-name> upstream <url>
Alias upstream zum Branch mit Repo URL definieren
git fetch upstream
Aktuellen Stand vom Alias upstream herunt­erladen
git merge <br­anc­h> - -no-commit - -no-ff
<br­anc­h> wird in den aktuell ausgec­heckten branch gemerged (ohne commit)
git merge upstre­am/­master
Merge der Änderungen vom Alias upstream branch "­mas­ter­" in den lokalen branch wobei für konfli­ktfreie Änderungen ein Autocommit erfolgt.
git merge upstre­am/­master - -no-commit - -no-ff
Merge der Änderungen vom Alias upstream branch "­mas­ter­" in den lokalen branch wobei für konfli­ktfreie Änderungen KEIN Autocommit erfolgt.
git clone --mirror <re­pou­rl>
Spiegelt ein Repository und kann zur Erstellung eines lokalen Backups verwendet werden.
git remote update
In einem Backup die remote Updates einspielen
git push <re­mot­ena­me> <commit SHA>:<­rem­ote­bra­nch­nam­e>
Push eines ausgew­ählten lokalen commits. z.B. git push origin 712acf­f81­033­edd­c90­bb2­b45­e1e­4cd­031­fef­c50­f:m­aster
git branch -m new-name
Aktuellen lokalen Branch in new-name umbenennen
git branch -m old-name new-name
Einen lokalen Branch old-name in new-name umbenennen
git push origin :old-name new-name
Erst Prüfen!: Alten remote Branch löschen und den neuen lokalen Branch pushen
git push origin -u new-name
Aktuellen Branch im Remote umbenennen
Alle lokalen Änderungen müssen um im Remote Repository sichtbar zu werden über den Mechan­ismus commit und push in das Remote Repository einget­ragen werden (auch neu angelegte Branches).

Github - Pull Requests aktuell halten

git clone <ur­l>
Lokale Arbeit­skopie erstellen
git checkout <br­anc­h-n­ame>
Auf den Pull Request wechseln
Alias upstream für den Zugriff auf den Master definieren
git fetch upstream
Die Änderungen vom master herunt­erladen
git merge upstre­am/­master
Den master in den lokalen Arbeit­sstand mergen
git commit -a
Alles commiten wenn keine Konflikte mehr bestehen
git push
Nach dem erfolg­reichen lokalen bauen, den aktuellen Stand veröff­ent­lichen.
Generell sollte für jedes neue zu realis­ierende Feature ein eigener Feature Branch vom master gezogen werden.
Hat man das Feature erfolg­reich implem­entiert kann man auf github.com einen pull Request stellen.
Wenn dieser Pull Request vom Owner nicht gemerged werden kann weil es Änderungen auf dem master gab dann hilft das oben beschr­iebene Vorgehen.

Neuen Branch mit lokalen Änderungen erstellen

git status
Gibt den aktuellen Branch aus und zeigt welche lokalen Änderungen vorliegen
git stash
Lokale Änderungen auf den Stack legen
git branch <ne­uer­-br­anc­h-n­ame>
Neuen Branch anlegen, Abspaltung vom Stand des aktuellen Branches
git checkout <ne­uer­-br­anc­h-n­ame>
Wechseln auf den neuen Branch
git stash pop
Lokale Änderungen vom Stack in den neuen Branch laden
git commit -a
Alle Änderungen auf den neuen Branch commiten
git push
Nach erfolg­reichem lokalen Bauen die Änderungen und den neuen Branch an das Remote Repository publiz­ieren.
Es gibt Tage das will man schnell mal was auspro­bieren und dann funkti­oniert es gleich - unglau­blich. Aber natürlich ist man mit den lokalen Änderungen gerade auf dem frisch ausgec­heckten master und will die Änderungen aber als neuen Feature Branch commiten - was tun? Das was oben steht ;)

Git für Präsen­tat­ionen

Wer in einer Präsen­tation zum nächsten oder vorherigen Stand des Programmes springen möchte ohne das Risiko von Schrei­bfe­hlern zu riskieren der sollte sich die Git Aliase prev und next anlegen. Damit lässt sich zum vorher­geh­enden oder nächsten Commit wechseln.

(Quelle: https:­//c­ode­rwa­ll.c­om­/p/­ok-­iyg­/gi­t-p­rev­-next)

Die Aliase werden in der ~/.git­config einget­ragen

[alias]
prev = checkout HEAD^1
next = "!sh -c 'git log --reverse --pret­ty=%H master | awk \"/$(git rev-parse HEAD)/­{ge­tli­ne;­pri­nt}­\" | xargs git checko­ut'­"
       
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Git Commands Cheat Sheet
          Git Cheat Sheet

          More Cheat Sheets by FunThomas424242

          Praktische Java Libs Cheat Sheet