git init
Initialisierung eines lokalen git-Repositoriesgit remote add <name of repo> <repo link>
Hinzufügen eines Remote Repositories Gitref.orggit remote -v
Remotes incl. Links anzeigengit remote show <name of branch>
Gibt weitere Informationen aus, die mit dem-v
Befehl noch nicht angezeigt werdengit remote rm <remotename>
Remove a Remotegit remote set-url <remotename> <git-url>
RemoteURL der einzelnen Repos ändern GitHubgit clone <link>
Clonen eines bereits existierenden Repositories clone incl. fetch, merge und pullgit commit
Commiten (-m
erlaubt dabei das sofortige hinzufügen eines Comments in""
) (--> ruhig oft commiten, als Absicherung und um den eigenen Weg nachzuvollziehen)git status
Abfrage ob Veränderungen vorliegengit add
Hinzufügen von noch nicht getrackten Elementen (nutze dengit add .
Befehl und alle Resourcen des Ordners werden hinzugefügt)git push <remotename> <branchname>
Möglichkeiten des Uploads des lokalen Repositoriesgit push origin master
git push <REMOTENAME> <BRANCHNAME>
git log
Anzeigen der bisherigen Commitsgit shortlog
gibt dabei kompaktere Ausgabe Änderungsrecherche im Repositorygit branch
Ausgabe existierender Branchesgit branch -a
zeigt auch nicht lokale Branches an und damit evtl. existierende Remote-Branches Atlassiangit branch <name>
Erstellt eine neue lokale Branch mit dem Namen<name>
git branch <neuer-lokaler-Name> <remotename>/<branchname>
Download einer neuen Remotebranch, die im lokalen Verzeichnis dann unter dem<neuen-lokalen-Namen>
zu finden sein wird. Es wird empfohlen für den neuen-lokalen-Namen die gleiche Bezeichnung zu verwenden, die beim RepoHoster angegeben ist.git checkout <name>
Wechseln zur<name>
Branch. Lässt sich mit einemgit status
oder einemgit branch
anschließend überprüfen.git fetch <remotename>
Downloaden der Veränderungen in einem Remote-Repositorygit diff <name1> <name2>
Unterschiede zwischen zwei verschiedenen Branches anzeigen (bspw.git fetch origin/master master
--> zeigt die Unterschiede zwischen der gerade gefetchten Remotebranch und der passenden lokalen Masterbranch)git merge
Zusammenfügen zweier Branches (Im Falle eines vorhergegangenen Fetch-Vorgangs dann die Kombination aus lokalem und gedownloadetem RemoteRepo) MergeConflictsgit pull
Kombination ausgit fetch
undgit merge
, der beide Befehle unter einer Abfrage zusammenfasst (mit Vorsicht zu genießen!)
git reset <option> <commit-hash>
Zurücksetzen der Files auf den Stand des angegebenen commits StackOverflow I StackOverflow II GitHubgit reset --hard
Löscht alle Änderungen, die bisher noch nicht committed wurden StackOverflow GitSCMgit revert <commit-hash>
Erstellt einen Commit, der das genaue Gegenteil descommit-hash
an nimmt. GitHub
Ort | Befehl |
---|---|
lokal | git branch -d <branchname> |
remote | git push <remotename> --delete <branchname> |
GitHub |
git remote prune origin
Sollte man eine Branch direkt bei GitHub löschen oder der Mitarbeiter löscht die Branch, dann erscheint diese dennoch bei der Abfrage durchgit branch -a
als Remote Branch. Der obige Befehl korrigiert dies.
rm -rf .git
Löscht die .git-File und damit alle gespeicherten Veränderungen, Branches, Einstellungen etc. -r gibt an einen Ordner zu Löschen (den .git ja darstellt und -f meint einen Force-delete ohne anhaltende Bestätigungs-Promts) StackOverflowrm -rf .git*
Löscht alle Files, die mit .git[xy] beginnen und damit auch evtl. vorhandene .gitignore oder .gitmodules
- Super simple start with Git Klasse Überblick mit vielen Commands ein tolles CheatSheat, Verweiße auf ausführliche Tutorials und eine Auflistung von top Software Clients
- Gerade erwähntes CheatSheet
- GitGuys
- Git-Tower - Learn Version Control with Git
- Why fetch not pull - Mark's blog
- Atlassian Git Tutorial- creator of BitBucket
- Atlassian Git Tutorial - Comparing Workflows
- RawGit - ermöglicht das Anzeigen vom WebSites direkt von GitHub aus
- Official GitHub Client (Win)
- Official GitHub Client (Mac)
- Git Client by Atlassian (Mac & Win)
- Git-Tower (Mac)
- weitere Clients in der offiziellen Git Dokumentation