Wichtigste Git-Befehle Für Webentwickler

April 29, 2020 12:08

Webentwickler kommen an dem Versionsverwaltungssystem Git nicht vorbei. Ohne Git drohen Versionschaos und Probleme in der Zusammenarbeit von Entwicklerteams. Hier geht um die Vorzüge der Verwaltungssoftware und ihre wichtigsten Befehle. Sie können insbesondere Einsteigern in Git den Anfang erleichtern.

Was ist Git und was sind die Vorteile von Git

Git löst ein spezielles Problem in Entwicklerteams. Würden diese ohne die beliebte Verteilersoftware alle bei ihrer Arbeit an einem Projekt auf ein einziges zentrales Verzeichnis mit Code zugreifen, wäre die Arbeit im Team konfliktreich. Typische Schwierigkeiten würden sich ergeben, weil

- einzelne Versionen ungewollt überschrieben werden. - die Versionen nicht strukturiert und gemanagt werden. - Änderungen nicht nachvollziehbar sind. - die Zusammenarbeit im Team und möglicherweise von verschiedenen Arbeitsorten unmöglich ist. Git schafft als Versionsverwaltungssoftware Abhilfe für alle diese potenziellen Probleme in einem Entwicklerteam.

Wie arbeitet Git?

Git ermöglicht es jedem Entwickler, eine eigene Kopie des aktuellen Codes zu erstellen, seine Änderungen an der Kopie durchzuführen, und die Änderungen danach zurück in die Basis zu übertragen. So wird jeder Webentwickler recht unabhängig von den Kollegen und deren Arbeit. Git schafft die Basis dafür, dass die Änderungen am Code korrekt einfließen. Es kommt zwar noch mit Git zu Konflikten und Widersprüchen können aber aufgelöst werden. Am Ende ist eine Teamleistung bei der Entwicklung durch Beiträge einzelner Entwickler problemlos möglich. Dabei ist Git anders als manche typischen Versionsverwaltungssysteme. Das Programm:

  • fußt auf nicht-linearer Entwicklung. Branching (Neue Entwicklungszweige) und Merging (Verschmelzen zweier oder mehrerer Zweige) sind feste Bestandteile der Git-Werkzeuge. Die Software enthält außerdem Programme, die eine einfache Visualisierung der History (Projekt-Geschichte) erlauben. Man kann an jede Stelle der Geschichte manövrieren. Die Branches werden in Git so implementiert, dass jede Verzweigung nur eine Reference ref darstellt. Die ref liegt im Repository im Verzeichnis .git/refs/heads und verweist auf einen Commit. Mit Eltern-Commits lässt sich jederzeit die gesamte Verzweigungsstruktur nachvollziehen. Der Projektleiter kann in jedem Augenblick Commits der Entwickler durch Merging oder Cheryy-Picking in den Master (Hauptzweig) des Projektes übernehmen. So fließt die gesamte Arbeit des Teams am Ende wieder in einer Struktur zusammen.
  • arbeitet nicht mit einem zentralen Server. Jeder Nutzer kann auf eine lokale Kopie des gesamten Repositories und die History zugreifen. Mit Remote-tracking Branches wird der Stand eines anderen Repositories sichtbar.
  • erlaubt den Datentransfer zwischen Repositorien. Dazu können unterschiedliche Netzwerkprotokolle genutzt werden. Git selbst nutzt zum Lesen den Port TCP-Port 9418, zum Schreiben gern SSH.
  • liefert kryptographische Sicherheit durch Speicherung des Hash-Wertes eines Commits. Spätere Manipulationen der History werden so unmöglich

git

Der Einstieg in Git

Der Einstieg in die Versionsverwaltung gelingt in der Regel besser über das Terminal als über einen grafischen Git-Client. Anfänglich kann man sich nämlich sonst etwas verwirrt fühlen, weil der Überblick nicht gelingt. Werden die Befehle zumindest anfänglich über das Git-Terminal

Seite: 1 von 4 eingegeben, fällt die Einarbeitung leichter.

Wichtige Git-Befehle

Das Aufsetzen des Git-Projekts

Man navigiert im Terminal in das eigene Projekt respektive in das Verzeichnis, in dem das Projekt angelegt werden soll. Dort wird das neue Git-Repository aufgesetzt mit dem Befehl: git init

Auch das Kopieren in ein Repository ist möglich (lokal oder entfernt).

Befehle

Erstellung eines Klons auf der lokalen Ebene auf Pfad suzy git clone/pfad/lokales/repo/suzy/ziel

oder

Erstellung eines Klons auf der entfernten Ebene suzy1 git clone https://gitsuzy1.com/user/repository.git

Mit einem SSH-Key lässt sich SSH nutzen: Befehl: git clone user@server:/pfad.git

Remote Repositories sind nicht lokale Repositories. Das geklonte Repository ist origin, damit lässt sich weiter arbeiten mit folgenden Befehlen: Hier wird Repository von url mit Bezeichnung snob hinzugefügt: Befehl: git remote add snob url hiermit kann eine Liste aller bekanntgemachten Repositories erzeugt werden:

Befehl: git remote

Änderungen hochladen

Das lokale Repository beinhaltet nicht nur die eigenen Daten. Der Head merkt sich den letzten Commit und der Stage nimmt Dateien auf, die mit einem Add-Befehl vorgemerkt sind.

In den Stage geänderte Dateien hinzufügen:
git add datei - für einzelne Dateien git add * - für alle geänderten Dateien

Mit Dateien aus dem Stage ein Commit erstellen
git commit -m "nachricht" git commit -a -m "nachricht"
Herausnehmen aus dem Stage
git reset HEAD snob.txt
Den Commit in entferntes Repository schieben

git push remote branch
Vom origin auf den Master Branch schieben
git push origin master

Arbeit mit Branches

Erstellung eines neuen Branches mit dem Namen snob und Wechsel zu snob
git checkout -b snob

Löschung des Branches snob
git branch -d snob

Wechsel zu einem Branch suzy
git checkout suzy

Den Branch snob auf das Repository origin schieben:
git push origin snob

Das lokale Repository aktualisieren
git fetch origin

Änderungen mit dem Master zusammenführen
git merge origin/master

Das Ganze in einem:
git pull origin master

Fehler korrigieren und einen Korrektur Branch anlegen:
git checkout -b bugfix snob bugfix branch geht vom Zweig snob ab

Mögliche Konflikte über das Mergen lösen

Snob wird mit einem neuen Branch zusammengeführt:
git merge snob

Allgemeine Befehle

Anpassung von Nutzerinformationen

git config --global user.name "Willy Wollig" oder git config --global user.email willy@wollig.de

Fehler korrigieren über das Zurücksetzen git checkout -- dateiname git fetch origin git reset --hard origin/master

Den Status anschauen git status

Status in Listen-Form git status -s

Grafischer Verlauf gitk

Aktualisierung github Server git push

Aktualisierung der eigenen Arbeitsgrundlagen git pull

Für die Arbeit mit Git sind nicht sehr viele Befehle nötig. Man kommt mit den hier genannten recht weit. Auch diese relative Einfachheit ist ein großer Vorteil von Git.

Marcus signundsinn GmbHContact person link image
Ihr Ansprechpartner
Marcus Fellinger
m.fellnger@signundsinn.de