2.5 KiB
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
.
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