Git-Cheatsheet
Alle Git-Befehle auf einen Blick — durchsuchbar, kopierbar, immer griffbereit
Keine Befehle gefunden. Versuche einen anderen Suchbegriff.
Was ist Git?
Git ist ein verteiltes Versionskontrollsystem, das 2005 von Linus Torvalds entwickelt wurde. Es verfolgt Änderungen im Quellcode, ermöglicht Teamarbeit und erlaubt es, jederzeit zu einem früheren Zustand des Projekts zurückzukehren.
Git vs. SVN
Im Gegensatz zu SVN (zentralisiert) ist Git vollständig verteilt – jeder Entwickler hat eine vollständige Kopie des Repositories. Git ist für die meisten Operationen schneller, funktioniert offline und macht Branching und Merging erheblich einfacher.
Der grundlegende Git-Workflow
Der typische Git-Workflow: git pull für die neuesten Änderungen, git checkout -b für einen Feature-Branch, Änderungen vornehmen, mit git add und git commit speichern, dann git push und einen Pull Request öffnen.
Häufige Fragen zu Git
Alles Wichtige über Git-Befehle und Workflows
git fetch lädt Änderungen vom Remote-Repository herunter, aber fügt sie NICHT in deinen aktuellen Branch ein. git pull ist im Wesentlichen git fetch gefolgt von git merge – es lädt Änderungen herunter und integriert sie sofort. Verwende git fetch, wenn du Änderungen erst prüfen möchtest, und git pull, wenn du dem Remote vertraust und schnell aktualisieren willst.
Verwende git reset --soft HEAD~1, um den letzten Commit rückgängig zu machen und alle Änderungen gestaged zu lassen. git reset --mixed HEAD~1 (oder einfach git reset HEAD~1) macht den Commit rückgängig und entstaged die Änderungen, lässt sie aber im Arbeitsverzeichnis. git reset --hard HEAD~1 verwirft den Commit und alle Änderungen vollständig – das ist unwiderruflich.
Verwende Rebase, wenn du eine saubere, lineare Commit-Historie möchtest – üblich bei Feature-Branches vor dem Mergen in main. Rebasing schreibt die Commit-Historie um, als hättest du immer vom neuesten Stand von main gearbeitet. Merge erhält die vollständige Historie der Änderungsintegration, besonders wichtig bei geteilten Branches. Rebase nie Commits, die bereits auf einen geteilten Remote-Branch gepusht wurden.
git reset bewegt den HEAD-Zeiger zurück zu einem früheren Commit und entfernt dabei nachfolgende Commits aus der Historie (gefährlich auf geteilten Branches). git revert erstellt einen neuen Commit, der die Änderungen eines bestimmten Commits rückgängig macht – die Historie bleibt erhalten und es ist sicher auf öffentlichen Branches nutzbar. Bevorzuge git revert für alles, was bereits gepusht wurde.