GIT - Start
Hier schon einmal - als Schnellstart - meine Notizen zur kurzfristigen, privaten Nutzung von GIT, einem Versionskontrollsystem.
Was kann GIT?
Wie auf der Wikipedia-Seite von GIT ersichtlich, handelt es sich um ein verteiltes Versionsverwaltungssystem, mit dem speziell ich, meine Texte versioniere.
Texte können Quelltexte, aber auch diese mit Jekyll generierten Blogposts, sein. Gerade bei dieser Art von Texten kann es sehr hilfreich sein, auf Vorgängerversionen zurückgreifen zu können, um per Diff zu erkennen, ab wann man was, und unter Umständen dann auch warum, falsch gemacht hat.
Download
Hier kann der Download von der Communityseite passend zum eigenen Betriebssystem ausgewählt werden.
Für Windows gibt es hier zusätzlich ein Kontextmenütool für den Dateiexplorer, wobei GIT vollständig über die Kommandozeile bedient und genutzt werden kann.
Repository erzeugen
- in das Projektverzeichnis wechseln
- dort
git initaufrufen
Dateien und geänderte Dateien zum Repository hinzufügen
- evtl. bereits im Projektverzeichnis vorhandene oder jeweils neu erzeugte oder geänderte Dateien zum Reposititory mit
git add [Dateiname]odergit add --allhinzufügen
Änderungen ansehen (diff)
git diff [Dateiname]- oder unter Windows mit Tortoise mittels Rechtsklick und Auswahl des Menüpunktes “diff”
Änderungshistorie (Log) ansehen
- mittels
git logdie Historie ansehen und den Hash der Commits herausfinden - mit
git log --allsieht man alle Veränderungen - und mit
git log --all --graphauch die branchspezifischen Änderungen - mit
git log --all --graph --onelinebekommt man eine übersichtlichere Ansicht, die aber weniger Details enthält
Reset zum letzten Commit
- wenn man mal einen groben Fehler begangen hat, kann man mit dem Befehl
git reset --hard HEADden Zustand des letzten Commits wiederherstellen
Reset zu einem bestimmten Commit
git checkout [hash]diesen Wiederherstellen. Der Hashwert muss nicht vollständig eingegeben werden. Die ersten n Zeichen, die ihn eindeutig machen, reichen bereits aus.
Branch bzw. Version erzeugen
git checkout -b [BranchnameOhneLeerzeichen]- Wechsel mit
git checkout masterbzw.git checkout [Branchname]
Branches in den master zusammenfügen (mergen)
git merge [Branchname]für den ersten mergegit merge [Branchname]den dort startenden Editor mit einem Kommentar versehen und dann beenden. Dies ist ein sogenannter merge commit.
Stash (temporärer Zwischenspeicher)
git add --allund danngit stash. Setzt wie ein hard reset alles auf den letzten commit zurück.- zu guter Letzt
git stash popholt die zwischengesicherten Änderungen zurück, die dann - nach Bearbeitung - geadded und commited werden können
Git clone von einem Remoteserver
git clone [Link zum Repository]git pullhole den aktuellen Zustand vom Servergit pushkopiere geänderte Dateien in das entfernte Repository
Dateien aus Repository löschen
git rm [Dateiname]- anschließend
git commit -m "Datei [Dateiname] gelöscht" - Dateiname ist dann für zukünftige Versionen gelöscht. In der Historie verbleibt sie natürlich