Programmieren_1/git.md

2.5 KiB
Raw Blame History

Git

Ein Version-Control-System (VCS). Git funktioniert als verteiltes System. Jeder Entwickler hat seine eigene Version des Quellcodes auf dem Rechner, den er nach Bedarf mit anderen Entwicklern synchronisieren kann.


Idee

Als Entwickler besteht die Arbeit darin Dateien zu verändern. Also eine Datei verändern und dann abspeichern, wieder und wieder. Häufig ist es wichtig eine Historie dieser Änderungen zu haben. In einem Umfeld mit vielen Entwicklern sollten die Änderungen anderen zur Verfügung gestellt werden.

In Git werden die Änderungen an Dateien in sogenannten commits festgeschrieben. Diese enthalten den Namen des Authors, eine kurze Beschreibung der Änderungen und die Änderungen an sich.

Diese commits lassen sich dann zwischen Entwicklern austauschen.


Repository

Ein Ordner der unter der Versionsverwaltung von Git steht. Das ist zu erkennen an einem Unterordner .git.

80%


Remote-Repositories

Repositories die nicht auf dem eigenen Rechner sondern im Internet liegen. Ein häufig verwendeter Workflow, der Centralized Workflow, von Git beinhaltet das Benutzen von einem zentralen Remote-Repository. Dafür gibt es viele Anbieter, wie Github, Gitlab, Bitbucket und Gitea. Entwickler tauschen dann commits nicht untereinander aus, sondern synchronisieren sich mit dem zentralen Repository.

An der HAW haben wir einen eigenen Server für Git-Repositories git.haw-hamburg.de.


Git installieren

Für alle Betriebssysteme gibt es eine Downloadmöglichkeit auf der offiziellen Homepage des Gitprojekts: git-scm.com

Git benutzen

Allen Anfängern wird es empfohlen Git über die sogenannte Git-bash zu benutzen. Das Aufrufen des Programms geschieht über die Kommandozeile. Erst nachdem die Kommandos von Git verstanden wurden kann auch eine GUI verwendet werden.


Schäfers Anleitung

Folgende Kommandos sollen eine einfache Benutzung von Git ermöglichen, auch ohne die Konzepte zu verstehen:

git add -A
git commit m "Notiz"
git checkout master
git pull -tags origin master
git merge dev
git add -A
git commit m "Notiz"
git push -tags u origin master
git checkout dev
git merge master