Git-Befehle, welche jeder Entwickler kennen sollte #1

Hat man früher noch ZIP-Dateien auf einem FTP-Server hochgeladen oder auf einen USB-Stick kopiert, um eine Versionierung von Sourcecode durchzuführen, ist es mittlerweile üblich, dass eine Versionsverwaltung per Software zum Einsatz kommt. Hierbei hat sich in den letzten Jahren git als verteilte Versionsverwaltung durchgesetzt. Auf dem Markt gibt es zahlreiche visuelle Oberflächen, wie GitKraken oder Fork, um die Versionsverwaltung vornehmen zu können, aber letztendlich handelt es sich bei git um ein Kommandozeilen-Tool. In diesem Beitrag möchte ich jetzt gemeinsam mit euch die wichtigsten Befehle durchgehen, so dass ihr einfach nur eine PowerShell benötigt, um mit git arbeiten zu können.

Zunächst müsst ihr git auf eurem Rechner installieren. Dafür geht ihr auf die Webseite git-scm.com und ladet euch die passende Version für euer Betriebssystem herunter. Anschließend installiert ihr diese.

Anschließend könnt ihr eine Kommandozeile öffnen und mit der Eingabe von git überprüfen, ob die Installation erfolgreich war. Solltet ihr die Hilfe für den git-Command sehen, so war alles erfolgreich.

Sollte ihr bereits git auf eurem Rechner installiert haben, so könnt ihr mit der Hilfe von git --version die aktuelle Version abrufen. Mit dem Befehlt git update-git-for-windows könnt ihr die Version auf die neuste Version updaten.

Konfiguration

Zunächst solltet ihr git entsprechend konfigurieren. Dazu gehören das setzen des Nutzernamens und der dazugehörigen eMail-Adresse. Jeder Commit wird mit diesen Daten verknüpft, so dass man später nachvollziehen kann, wer die einzelnen Änderungen durchgeführt hat.

git config --global user.name "<name>"

Dieser Befehlt setzt global den Nutzernamen. Dieser wird somit für alle git-Repositories verwendet. Wenn ihr den Nutzernamen nur für ein bestehendes Repository ändern wollt, so wechselt in dieses Repository und lasst einfach den global-Parameter weg.

git config --global user.email "<email-address>"

Analog zum Nutzernamen könnt ihr auch die Email-Adresse setzen.

Anlegen / Auschecken

Wenn ihr lokal ein neues Repository anlegen wollt, so könnt ihr den Befehl git init verwenden. Als Parameter übergebt ihr noch einen Namen für euer Projekt und git erstellt für euch einen neuen Ordner mit dem übergebenen Namen und erzeugt entsprechend das Repository.

git init <project-name>

Solltet ihr bereits ein bestehendes Git-Repository haben, so könnt ihr dieses mit git clone auschecken und so eine lokale Kopie des Repositories erstellen. Als Parameter übergebt ihr einfach die URL zum Repository.

git clone <url>

Änderungen vornehmen

Das wichtigste ist wohl die Verwaltung der einzelnen Dateien. Hierzu gibt es eine Handvoll Befehle, welche euch hierbei behilflich sind.

git add <file>

Indiziert den aktuellen Stand der Datei für die Versionierung. Beim nächsten Commit wird diese Datei somit ins Repository übertragen.

git reset <file>

Mit diesem Befehlt könnt ihr eine Datei vom Index wieder entfernen. Dabei bleibt der Dateiinhalt jedoch erhalten.

git commit -m "<commit message>"

Nimmt alle derzeitig indizierten Dateien, also zum Beispiel die Dateien, welche mit git add hinzugefügt wurden, permanent in die Versionshistorie auf. Allerdings ist dieser Commit zu diesem Zeitpunkt nur lokal auf eurem Rechner und noch nicht auf dem Server.

Änderungen synchronisieren

Nachdem ihr lokal an dem Projekt gearbeitet habt, ist es nun Zeit die Änderungen mit dem Server zu synchronisieren.

git pull

Mit dem Befehl git pull könnt ihr die Änderungen vom Server herunterladen. Anschließend werden die Änderungen mit euren Änderungen automatisch zusammengeführt.

Ihr könnt es euch bereits denken, aber um die Änderungen an den Server zu senden, kommt git push zum Einsatz.

git push

In diesem Beitrag habe ich euch einmal die wichtigsten Git-Befehle zusammengefasst. Diese Liste ist natürlich bei weitem nicht vollständig, sondern soll erst einmal einen groben Überblick liefern. In einem weiteren Teil werden wir uns dann weitere Befehle anschauen.

Extension Methods: Object Extension Methods: Collections Buch-Tipp: Cross-Plattform-Apps mit Xamarin.Forms entwickeln von André Krämer