Git ist ein Versionskontrollsystem

Das G in Git..

...steht für gute Zusammenarbeit.

Das Erlernen von Git ist für jeden Programmierer unerlässlich. Es hilft, die Arbeit im Team zu koordinieren und Ziele hinsichtlich der Geschwindigkeit und Datenintegrität zu erreichen. Git ist ohne Zweifel das beliebteste Open-Source-Versionskontrollsystem. Viele der größten Unternehmen nutzen Git & GitHub für ihre Projekte.

"It makes working with other developers so much more exciting and enjoyable, just by creating a new branch, adding all your brilliant ideas to the code that can help the project, committing it, and then pushing it to GitHub or GitLab." - Billy Iliev

Der Hauptvorteil der Versionskontrolle besteht darin, dass mehrere Personen gleichzeitig am selben Projekt arbeiten können. Mit Versionskontrolltools wie Git, können alle Änderungen am Code nachverfolgt werden und im Falle von Problemen, kann man leicht zu einem Stand zurückkehren, in dem der Code noch in einem funktionierenden Zustand war.

Das Git-Cheatsheet


Hinweis: Diese Seite fußt vor allem auf den Inhalten dieser Beiträge [1, 2 ] und dieses Cheatsheets , ergänzt es aber noch um einige Punkte. Sehr zu empfehlen, um Git spielerisch zu lernen: Oh my git!


Installieren & Setup von Git


Zunächst bei Google "GitHub" und dein Betriebssystem eingeben und dann Git auf entsprechender Seite herunterladen. Das Video von Mosh (siehe unten) hilft bei der Einrichtung von Git. Vorab sollte dein Lieblingsterminal (z.B. iTerm oder der integrierte Terminal in VSCode) und die Shell ausgewählt werden. Es gibt viele verschiedene Shells, wie bspw. Bash oder ZSH. Sie sind bereits integriert bzw. können auf unterschiedliche Weise eingerichtet werden (siehe Video unten zum Einrichten von Oh-my-zsh im Terminal).


Staging & Creating Snapshots


Branching & Merging


Branching wird verwendet, um eine neue Funktion oder einen neuen Code zu testen, indem eine Verzweigung erstellt wird. Es ist besonders praktisch, wenn mehrere Entwickler an demselben Projekt arbeiten. Für jedes Feature/ jeden Entwickler kann eine eigene Branch erstellt werden, die dann am Ende zusammengefügt(gemerged) werden kann.


Browsing History



Rewriting History



.gitignore


Am besten erstellt man direkt zu Beginn des Projekts eine spezielle Datei namens .gitignore in der ignorierte Dateien geführt werden, die im Root-Verzeichnis deines Repositorys eingecheckt werden. Es gibt keinen expliziten "git ignore"-Befehl: Stattdessen muss die .gitignore-Datei manuell bearbeitet und committet werden, wenn neue Dateien hinzukommen, die ignoriert werden sollen. 

In dieser Datei kann spezifiziert werden, welche Ordner und Dateien, Muster nicht gestaged oder commited werden sollen (z.B. build-Artefakte und maschinell generierte Dateien). Weitere Beispiele:

Quelle: Bitbucket

Befehl, dass das System das Pattern in allen local Repositories ignoriert:
git config --global core.excludesfile[file]
GitIgnore-Generator

Collaboration (GitHub)