====== Git ======
//Git// ist ein Tool zur [[lexikon:vcs|dezentralen Versionskontrolle]] von Dateien, insbesondere für [[lexikon:sourcecode|Quellcode]].
===== Dateien =====
==== Datei verschieben/umbenennen ====
Eine Datei sollte mit dem Befehl ''git mv'' verschoben oder umbenannt werden:
git mv foo_old.txt bar_new.txt
==== Dateien/Verzeichnisse ignorieren ====
Mit der Datei ''.gitignore'' können Dateien und Verzeichnisse von der Versionierung ausgeschlossen werden, dies ist vor allem bei individuellen Konfigurationsdateien mit Passwörtern, Caches, temporären Dateien, etc. sinnvoll, da diese nicht versioniert werden sollten.
===== Commits =====
==== Commit mit Hash finden ====
git show
==== Branch eines Commits anzeigen ====
Commit auf lokalen Branches:
git branch --contains
Commit auf remote Brances:
git branch -r --contains
===== Branching & Merging =====
==== Branch löschen ====
=== Lokalen Branch löschen ===
git branch -d foobar
=== Remote-Branch löschen ===
git push origin --delete foobar
==== Merge rückgängig machen ====
Ein ''git merge'' rückgängig machen, der bereits zum Server gepusht wurde:
git revert -m 1 commit_hash
Quelle: [[https://coderwall.com/p/o0krbw|coderwall: Matthew Harmon: Undo A git merge That Has Been Pushed To The Server]], 2020
===== Links =====
* [[https://git-scm.com|Git]]
==== Cheatsheets ====
* [[https://gitsheet.wtf|GitSheet]]
* [[https://ndpsoftware.com/git-cheatsheet.html#loc=workspace;|NDP Software: Interactive Git Cheatsheet]]
* [[https://www.git-tower.com/blog/git-cheat-sheet/|Git Tower: Git Cheatsheet]], 2017