git config --global user.name "<user name>" git config --global user.email <user email> |
User konfigurieren |
git config --global core.editor vim git config --global merge.tool vimdiff |
Editor konfigurieren |
git config --list | Konfiguration anzeigen lassen |
mkdir /var/git/<project.git> cd /var/git/<project.git> git --bare init |
leere Repository auf dem Git-Server <host> anlegen |
cd <projectfolder> git init git add . git commit -m "initial commit" git remote add origin git://<host>/<project.git> git push origin master |
Git-Repository mit vorhandenen Daten auf dem Client anlegen |
git clone git://<host>/<project.git> | Git von vorhandener Repository klonen |
git clone http://:@<host>/<project.git> | * |
git clone http://<user>@<host>/<project.git> | * |
git remote add <repo> git://<host>/<project2.git> | weitere Repository hinzufügen |
git branch | lokale Branches anzeigen |
git branch -r | remote Branches anzeigen |
git branch -a | lokale & remote Branches anzeigen |
git checkout <repo> <projectbranch> git checkout -b <mybranch> |
neuen Branch anlegen |
git push --set-upstream <repo> <mybranch> | neuen Branch in das Remote Repository hochladen |
git checkout -b <featurebranch> <repo>/<featurebranch> | vorhandenen remote Branch auschecken |
git checkout <featurebranch> | vorhandenen eindeutigen remote Branch auschecken |
git checkout <mybranch> | vorhandenen lokalen Branch auschecken |
git branch -m <newbranchname> | ausgecheckten Branch umbenennen |
git branch -d <featurebranch> | lokalen (gemergen) Branch löschen |
git branch -D <featurebranch> | lokalen Branch (auch ungemerged) löschen |
git push <repo> --delete <featurebranch> | remote Branch löschen |
git fetch --all | Objekte und Referenzen von allen Remotes herunterladen |
git pull -r [<repo> <branch|refspec>] | Objekte herunterladen und integrieren, inklusive Rebase |
git status [-s] | Änderungen im Working Tree (zum HEAD) anzeigen |
git show | Commit Message und Änderungen (diff) des letzten Commits anzeigen |
git show <commit|tag> | Commit Message und Änderungen eines bestimmten Commits anzeigen |
git diff | Änderungen zum letzten Commit anzeigen |
git diff <commit|tag> [<file>] | Änderungen zu einem bestimmten Commit anzeigen |
git difftool | Änderungen anzeigen unter Verwendung eines Diff-Tools, z.Bsp. kdiff3 |
git blame <file> | Wer hat wann was an einer bestimmten Datei geändert? |
git blame -L <start>,<end> <file> | Änderungen anzeigen für bestimmten Bereich (Zeilennummern, regex) ? |
git branch --contains <commit> | alle Branches auflisten, die einen bestimmten Commit enthalten |
git log [[--] <path>] | Commit Logs anzeigen |
git log --oneline | Commit Logs einzeilig anzeigen |
git log --author <'author name'> | alle Commits eines bestimmten Autors anzeigen |
git log --after <date> --before <date> | Commits aus einem bestimmten Zeitraum anzeigen, z.Bsp --after '2016-08-31' |
git checkout <mybranch> git diff <basecommit> <mycommit> > <patch.diff> |
Patch aus der Differenz zwischen zwei Commits generieren |
git checkout <featurebranch> git apply <patch.diff> |
Patch anwenden |
git checkout <branch> git cherry-pick -x <commit> |
Änderungen eines vorhandenen Commits anwenden, die originale Commit-Beschreibung wird beibehalten. |
git cherry-pick --abort | Cherry-pick abbrechen und Änderungen verwerfen |
git add <file01> <file02> <file03> | Änderungen zum Index hinzufügen |
git add . | * |
git rm <file> | Datei aus Working Tree und Index löschen |
git checkout -- <file> | Änderungen verwerfen |
git clean -dxf | Working Tree aufräumen |
git commit [-m <'commit message'>] | Änderungen committen |
git commit --amend | letzte Commit-Message ändern |
git reset --hard HEAD^ | letzten Commit verwerfen, alle lokalen Änderungen gehen dabei unwideruflich (!) verloren |
git revert <commit> | Commit rückgängig machen |
git push [<repo> <branch>] | Änderungen in das Remote Repository pushen |
git push --dry-run | Pushen der Änderungen vorher ausprobieren, ohne wirklich zu pushen |
git push --force | Forced Update, z.Bsp. nach git commit --amend |
git tag <tag> [<commit>] git push --tag |
Tag hinzufügen und pushen |
git push <repo> <tag> | nur einen bestimmten Tag pushen |
git tag -d <tag> git push --delete <repo> <tag> |
Tag entfernen |
git fetch --all | Objekte und Referenzen aus dem Git aktualisieren |
git checkout <mybranch> git rebase -i <featurebranch> git checkout <featurebranch> git merge --ff-only <mybranch> |
Merge <mybranch> in <featurebranch> |
git checkout <projectbranch> git pull -r git merge <featurebranch> |
Merge <featurebranch> in <projectbranch> |
git push <repo> <projectbranch> <featurebranch> | Beide Branches in das Git hochladen |