Top 10 Git Commands für Anfänger

Sind Sie neu im Thema Versionskontrolle mit Git? Oder möchten Sie nach einer langen Pause kurz die Basics auffrischen? Dann sind Sie hier genau richtig! Wir haben für Sie die 10 wichtigsten Git Commands zusammengetragen, die Sie als Anfänger brauchen um direkt mit einem neuen Repository durchzustarten

1. Git config

Der erste Schritt eines jeden Anfängers sollte die Initialkonfiguration des aktuellen Environments sein. Mit git config user.name und user.email kann man für das aktuelle Repo (kurz für Repository) seinen Usernamen und seine E-Mail Adresse abspeichern. Durch die –global Flag kann man diese Angaben auch global für die aktuelle Git-Installation festlegen.

  git config –global user.name "your username"
  git config –global user.name "your@email.com"

Aber Achtung! Auf diese Weise bleiben alle eingegebenen Daten lokal in der .git-credentials Datei im Klartext auf der Festplatte. Diese Vorgehensweise ist somit aus einer Sicherheitsperspektive nicht zu empfehlen. Deshalb empfehlen wir für die Zugangskontrolle zum Repo das Einrichten von SSH-Keys, anstatt ein Passwort mit dieser Methode zu hinterlegen.

2. Git init

Um ein neues Projekt anzufangen muss man den Befehl

git init [optionales Zielverzeichnis]

im Zielordner ausführen, oder den Zielordner als Argument mitgeben. Falls alles geklappt hat, entsteht nun ein versteckter .git Ordner im Zielverzeichnis und Sie können die volle Funktionalität der Git Versionskontrolle nutzen.

3. Git pull

Bevor Sie anfangen Veränderungen in commits einzubinden und auf die gemeinsame Versionskontrolle zu pushen, sollten Sie

git pull

ausführen, um den aktuellsten Stand des Projektes herunterzuladen. So vermeiden Sie in Teams, dass es zu Kollisionen beim Hochladen von Änderungen kommt. Aber auch wenn Sie alleine am Projekt sind ist dies eine gute Angewohnheit.

4. Git add / git stage

Mit git add kann man Veränderungen an den Dateien in einem Repo „stagen“, sprich für den nächsten Commit vorbereiten. Deshalb ist dieser Befehl auch unter dem Alias git stage ausführbar und bekannt. Dateien können hiermit entweder einzeln mit dem Befehl

git add [Ordner1/Unterordner1/Datei.py]

oder per Ordner mit der folgenden Syntax

git add [Ordner1/Unterordner1]

hinzugefügt werden. Der Befehl

git add .

fügt alle veränderten Dateien in die sogenannte „staging area“, welche die vorbereiteten Dateien für den nächsten Commit darstellt.

5. Git commit

Mit diesem Befehl können Sie Ihre zuvor hinzugefügten Veränderungen in einen commit packen. Das IDE oder der Text Editor Ihrer Wahl wird Sie noch um eine Beschreibung des Inhalts im Commit bitten. Alternativ können Sie die sogenannte commit message mit der folgenden Syntax direkt mitgeben

git commit -m "Fixed calculate function returning Null instead of NaN in certain cases"

6. Git push

Mit dem git push Befehl laden Sie Ihre bisherigen Commits auf die zentrale Versionskontrolle hoch.

git push

Solange Sie alleine arbeiten sollte es hier keine Problem geben. Falls Sie jedoch parallel im Team an den gleichen Dateien arbeiten, könnte an dieser Stelle ein Merge nötig sein. Diesen sollten Sie als Anfänger am besten mit Ihren Kollegen im Team abstimmen und nicht auf eigene Faust probieren.

7. Git clone

Falls Sie an einem bereits bestehenden Repo arbeiten, können Sie dieses via

git clone [Ihre URL]

auf Ihr aktuelles Verzeichnis klonen und lokal daran arbeiten. Git unterstützt für die URL ssh, ftp(s) und http(s), sowie das eigene Git-Protokoll. Dieses läuft jedoch unverschlüsselt und ist daher nicht zu empfehlen.

8. Git branch

Git Branch ist ein sehr mächtiger Befehl mit vielen Optionen. Für Anfänger ist es erstmal nur interessant, dass wir Branches auflisten, erstellen und wieder löschen können. Branches (dt. Zweige) werden verwendet um neue Features oder Bug Fixes auf einer eigenen Abzweigung des Codes zu testen, bevor diese Veränderungen in die Haupt-Branch und damit in ein produktives System einfließen. Mit dem Befehl

git branch -a

erhalten Sie eine Liste aller bestehenden Branches. Hier sehen Sie neben Ihren lokalen Branches auch die „Remote References“, dabei handelt es sich um die maßgebliche Version der Branches, welche zentral gepusht ist. Diese sind lediglich zum Lesen da und werden nicht für die aktive Entwicklung benutzt.

git branch [Name] 

Mit diesem recht simplen Befehl können Sie nun Ihre neue Branch erstellen und damit arbeiten. Ein „initial commit“ ist hier nicht nötig, da standardmäßig der aktuellste Stand Ihres vorherigen Branches in die neue Branch gepusht wird. Sofern Sie nicht bereits an einem anderen Branch arbeiten, wird dies Ihr Main/Master Branch sein.

Wichtig: Der Name muss hier ein durchgängiger String sein. Es sind keine Leerzeichen erlaubt.

git branch -d [Name] 

Hier steht das „-d“ für delete (dt. löschen). Wenn Sie mit Ihrem Branch fertig sind, oder Ihnen beim benennen Ihres Branches ein Fehler unterlaufen ist, können Sie es mit diesem Befehl löschen.

9. Git checkout

Nachdem Sie nun eine Liste aller Branches haben, können Sie mit dem Befehl

git checkout [BranchName]

auf das besagte Branch wechseln und in diesem neuen Kontext arbeiten.

Neben dieser Funktionalität ist es auch mit

git checkout -b [NewBranchName]

möglich ein neues Branch mit einem neuen Namen zu erstellen.

10. Git diff

Falls Sie unsicher sind, was Sie in Ihrem lokalen Repo verändert haben oder plötzlich neue Dateien auf Ihrem Server aufgetaucht sind, können Sie sich mit dem Befehl

git diff

den Unterschied zwischen dem Soll im Git Repo und dem Ist auf Ihrem lokalen Stand anzeigen lassen.