Git Repo Management
Historie anzeigen
jeder Commit wird über einen Hash identifiziert
git log
HEAD bezeichnet den aktuellsten Stand der Datei
Ausgabe einer Ausführlichen Version des logs, anzeige der Änderungen
git log -p
Ausgabe in einer komprimierten Darstellung, Änderungsbeschreibungen bleiben erhalten
git log --oneline
letzten commit überschreiben (nur local verwenden!)
somit ist das erstellen eines neuen commits nicht erforderlich
git commit --amend
Änderungen des working directory zur staging area anzeigen lassen
git diff
Änderungen der staging area zum aktuellen Datenstandes des Repo anzeigen lassen
git diff --cached
unterschiede zwischen zwei commits anzeigen lassen
git diff <hash1> <hash2>
unterschiede zwischen zwei commits anzeigen, nur auf eine Datei beziehen!
git diff <hash1> <hash2> --uebung.cpp
…für mehrere Dateiarten
git diff <hash1> <hash2> --uebung.*
NICHT ONLINE ANWENDEN
Alle Änderungen aus der staging area herausnehmen
git reset
Änderung aus der staging area herausnehmen
git reset <filename>
NICHT ONLINE ANWENDEN
alle commits nach <commit hash>, alle Änderungen bleiben im working directory bestehen
git reset <commit>
löscht alle commits —hard <commit hash>, alle änderungen werden verworfen!
git reset --hard <commit hash>
ACHTUNG: aktuelles Working directory wird dabei überschrieben! zuvor git status zur Überprüfung
zu einem commit springen: checkout
stellt einen Zustand von einem bestimmten commit wieder her
git checkout <commit hash>
git versucht lokale Änderungen zu übernehmen, vorher working directory leeren!
im log werden spätere commits temporär nicht mehr angezeigt
zurück zum Master springen
git checkout master
Änderungen rückgängig machen
erstellt einen neuen commit, der die Änderungen rückgängig macht:
git revert <commit hash>
liste von pfaden die von git ignoriert werden
→ Änderungen an diesen Dateien haben keine Auswirkung auf git diff, git add, etc.
nano .gitignore
leer.txt
*.txt
.gitignore selber muss mit commitet werden!
→ auf github gibt es bereits configurierte Standdarddateien
Dateinen löschen (aus Working directory und staging area)
git rm
Datei bewegen (z.B. umbennen), versionsverlauf wird getracked
git mv
zeile für zeile anzeigen, in welchem commit diese zuletzt geändert wurde
git blame <filename>
gleiche commits farblich hervorheben
git blame --color-lines <filename>