Wenn man git zur Codeverwaltung benutzt lernt man immer wieder neue Befehle kennen, die einem bei der Codeveraltung helfen. Anbei meine stetig wachsende Sammlung von Befehlen die ich oft - aber auch weniger häufig benutze um meinen Code zu verwalten. Speziell die weniger häufig benutzten muss man immer wieder mal nachsehen.
| Befehl | Anwendung |
| git branch -d <branchname> | Delete local banch |
| git branch -r | Anzeige der Branches im remoten repo |
| git branch -v | Anzeige der existierenden Branches und ihrer HEAD commits |
| git branch --[no-]merged <branch> | Anzeige aller Banches, die [nicht] im aktuellen Branch (normalerweise master) oder <branch> integriert sind |
| git branch -a | Anzeige aller bekannten Branches (auch remote) |
| git branch --contains <commit> | Anzeige aller Branches die den <commit> enthalten |
| git checkout -b <branch> | Create <branch> und checkout <branch> |
| git config --global user.email "Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!" | Setzen der eMail (global) |
| git config --global user.name "foo" | Setzen des Namens (global) |
| git diff --staged | Anzeigen welche Dateien im Staging sind aber noch nicht im remoten Repository |
| git diff | Anzeigen welche Dateien im Stating sind vom Workspace |
| git diff <commit>^! | Änderungen von einem Commit zu seinem Vorgaenger |
| git diff <commit1> <commit2> - dir1/dir2 | Änderungen zwischen zwei Commits auf einem File oder Verzeichnissen |
| git diff --stat <commit1> <commit2> | Anzeige der Anzahl Aenderungen einer Datei |
| git diff master origin/master | Vergleich der Änderungen von lokal zu remote |
| git diff --stat --color remotes/upstream/master..origin/master | Anzeige Dateien und Anzahl geänderte Zeilen |
| git diff --name-status origin/master | Anzeige von geänderten Dateinamen |
| git diff remotes/main/master..origin/master | Anzeige der Codediffs |
| git difftool <tag1> <tag2> <fileName> | Vergleich von zwei tagged Commits |
| git difftool HEAD^ HEAD <filename> | Vergleich des letzten mit dem vorherigen Commit einer Datei |
| git diff-tree -no-commit-id --name-only -r <commit> | Welche Dateien wurden in einem Commit geändert |
| git fetch --all --prune | Abgleich der remoten und lokalen Branches |
| git log <branch1> ^<branch2> -- no-merges | Anzeige aller Commits aus <branch1>, die nicht in <branch2> sind |
| git log --all --decorate --oneline --graph | Anzeige aller Commits und Branch Abhaengigkeiten. |
| git log -n 3 | Anzeige der letzten 3 Commits |
| git log --oneline | Anzeige der Commits in einer Zeile |
| git log --stat --oneline | Anzeige der Commits mit seinen Dateien und Anzahl Aenderungen |
| git log --graph --oneline | Graphische Anzeige der Commitbeziehungen |
| git log --full-history --- ><fileName> | Wo wurde eine Datei gelöscht |
| git log --no-merges master.. | Welche commits wurden nicht in den Master integriert (in einem Branch ausgeführt) |
| git pull | Update des lokalen git Repos mit dem remoten repo |
| git push -u origin <branchname> | Publish eines Branches im remote git |
| git push origin --delete <branchname> | Delete remote branch |
| git push origin :<branchname> | Delete remote branch |
| git push | Update des remoten repos mit den lokalen Änderungen |
| git remote add upstream Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!:framps/<Project>.git | Zufügen einers remoten Repositories |
| git remote set-url origin Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!:framps/<Project>.git | Definition eines remoten Repositories |
| git reset --hard <commit> | Aktivierung des Codestandes des Commits <commit> (Achtung! Alle Dateien werden ueberschrieben) |
| git reset --soft <commit> | Aktivierung des Codestandes des Commits <commit> Die lokalen Daten werden nicht ueberschrieben. |
| git reset HEAD <file> | <dir> | Unstage <file> oder alles in <dir> |
| git rm --cached <fileName> | Löschen einer Datei aus dem Index. Sie wird aber lokal nicht geändert. |
| git stash | Stashen einer aktuellen Änderung |
| git stash pop | Merge des letzten stashes in den aktuellen Code |
| git show-branch *master | Welche Commits fehlen lokal (Nach einem fetch) |
| git show-ref --tags | Anzeige alle tags mit seinen commits |
| git pull --all | Lokaler Update mit allen remoten Branches |
| git push origin --tags | Pushen aller tags, tags werden standardmässig nicht gepushed |
| git status | Anzeige des aktuellen Status |
