• Home
  • |
  • Blog
  • |
  • Git Tutorial #3 – Die Git Bash Kommandozeile: Grundlagen

Git Tutorial #3 – Die Git Bash Kommandozeile: Grundlagen

Zuletzt aktualisiert: September 19, 2024

Im letzten Artikel haben wir die Git Bash bereits installiert und eingerichtet. Heute werden wir uns die Grundlagen dieser Kommandozeile ansehen und wie wir darin arbeiten können.

Inhaltsverzeichnis

1. Was wirst du in diesem Beitrag lernen?

Wichtig:
In diesem Artikel wirst du noch keine Git-spezifischen Dinge lernen, sondern stattdessen, wie du dich in der Kommandozeile zurechtfindest. Zu wissen, wie man grundlegende Operationen in der Git Bash durchführen kann, ist deshalb wichtig, weil wir die Kommandozeile im Laufe dieser Git-Tutorialreihe häufig verwenden werden.
  • Du wirst alle nötigen Befehle lernen, um mit der Git Bash Kommandozeile arbeiten zu können,
  • du wirst lernen, wie man herausfindet, in welchem Ordner man sich aktuell befindet,
  • wie man in verschiedene Ordner navigieren und den Inhalt des aktuellen Ordners ausgeben lassen kann,
  • wie man Dateien verschiebt und umbenennt,
  • wie man Dateien löscht und
  • wie man einen neuen Ordner mithilfe der Konsole anlegen kann.

Wie bereits erwähnt, lernst du all das in der Git Bash, also in der Kommandozeile. Das bedeutet: Wir setzen all diese aufgezählten Punkte mit Kommandozeilenbefehlen um.

Es wird also sehr interessant! Wenn du das Ganze geübt hast, wirst du auch sehen, dass es gar nicht mal so schwer ist, mit der Kommandozeile zu arbeiten. Außerdem lassen sich damit ziemlich schnell Dinge umsetzen.

Am Ende dieses Beitrags werde ich dir auch noch Tipps für mehr Effizienz und Schnelligkeit beim Arbeiten in der Git Bash an die Hand geben. Springen wir nun also einfach mal in die Konsole und beginnen direkt mit dem ersten Thema.

2. Die Git Bash Kommandozeile

Wir starten mit den Grundlagen der Kommandozeile. Falls bei dir der Text noch ziemlich klein dargestellt sein sollte, kannst du diesen in der Git Bash durch Hinein- und Herauszoomen vergrößern oder verkleinern. Dafür hält man die STRG-Taste gedrückt und scrollt mit dem Mausrad.

Bevor wir nun mit dem ersten Befehl beginnen, möchte ich darauf eingehen, was auf der folgenden Abbildung zu lesen ist:

Die Git Bash Kommandozeile

Auf dem Bild sehen wir „Sorm@JanekDesktop MINGW64 ~“. Beginnen wir mit dem grünen Text. „Sorm“ ist der Windows Benutzername. Das ist der Windows Benutzer, mit dem ich aktuell eingeloggt bin. Dann folgt das @-Zeichen und der Name meines Computersystems. Mein Computer heißt „JanekDesktop“ und ich bin eingeloggt mit dem Benutzer „Sorm“.

Danach steht „MINGW64“ auf dem Bildschirm. Dabei handelt es sich um die Kommandozeile, die wir verwenden. Also um eine MINGW64-Kommandozeile. Anschließend folgt eine Tilde (~). Die Tilde symbolisiert, dass wir uns gerade im Benutzerverzeichnis befinden. Das kann ich dir auch direkt anhand des ersten Befehls veranschaulichen. Und zwar ist das der pwd-Befehl.

3. Der pwd-Befehl

Wenn wir „pwd“ in die Konsole schreiben und anschließend Enter drücken, gibt es uns den Ordner aus, in dem wir uns aktuell befinden:

pwd gibt uns den Ordner aus, in dem wir uns befinden

Wie du siehst, ist das mein Benutzerordner. Die Tilde ist also einfach eine Abkürzung für den Benutzerordner. Der Befehl „pwd“ steht für „print working directory“, was so viel bedeutet wie „gebe das aktuelle Arbeitsverzeichnis aus“. Und das ist das Verzeichnis, in welchem wir uns gerade befinden.

Als Nächstes möchte ich dir zeigen, wie du in verschiedene Ordner hinein navigieren kannst. Natürlich kannst du dein aktuelles Arbeitsverzeichnis auch jederzeit wechseln und genau das macht man mit dem cd-Befehl.

4. Der cd-Befehl

„cd“ steht für „change directory“, also „Verzeichnis ändern“. Nach dem „cd“ schreibt man das Verzeichnis, in das man hinein navigieren möchte. Wenn man nur „cd“ schreibt, ohne etwas anzugeben, landet man wieder im Benutzerverzeichnis. Da wir gerade im Benutzerverzeichnis sind, ändert sich bei uns durch den Befehl erst mal nichts.


Wenn ich nun allerdings „cd /c/users/Sorm/Desktop“ schreibe, lande ich auf meinem Desktop, wie man in der folgenden Abbildung erkennen kann:

Wir landen in der Git Bash auf dem Desktop durch den Befehl cd

Auf dem Bildschirm steht bereits "Benutzerverzeichnis Desktop". Wenn ich jetzt den pwd-Befehl eingebe, sehen wir, dass ich mich gerade auf dem Desktop befinde:

Mit pwd sehen wir, dass wir uns auf dem Desktop befinden

Möchte ich nun in der Ordnerstruktur wieder eine Ebene nach oben gehen, also vom Desktopordner zurück in den übergeordneten Sorm-Ordner, dann schreibe ich dafür „cd“ und bestätige die Eingabe mit Enter. Dadurch bewege ich mich wieder in das übergeordnete Verzeichnis, also in den Benutzerordner:

Mit cd steuern wir zurück in den übergeordneten Ordner

Jetzt steuere ich mal in einen Beispielordner, den ich für diese Lektion erstellt habe. Dieser befindet sich auf meinem Desktop und darin zeige ich dir noch einen weiteren Befehl. Da er auf dem Desktop liegt und "Beispielordner" heißt, schreibe ich: „cd Desktop“.

An dieser Stelle kann ich einfach Desktop schreiben, weil ich aktuell im User Verzeichnis bin und Desktop ein Ordner ist, welcher sich im User Verzeichnis befindet. Das heißt, wenn ich das so angebe, gelange ich auch tatsächlich wieder auf meinen Desktop:

mit cd Desktop landen wir in der git bash wieder auf dem Desktop

Hier auf dem Desktop gibt es nun einen Ordner namens „Beispielordner“. Wenn ich diesen noch in die Konsole eintippe und bestätige, werde ich in diesen hinein geleitet.

Jetzt möchte ich dir den sogenannten ls-Befehl vorstellen. Doch vorher müssen wir zunächst in der bereits vollen Konsole etwas Platz schaffen. Das gelingt uns, indem wir „clear“ eingeben und diese dadurch leeren:

mit clear leeren wir in der Git Bash die Konsole

Jetzt, wo uns wieder eine leere Konsole zur Verfügung steht, sehen wir uns den ls-Befehl an.

5. Der ls-Befehl

Mit dem ls-Befehl können wir den Inhalt des aktuellen Ordners, also des Ordners, in dem wir uns gerade befinden, ausgeben lassen. Im Moment sind wir im Desktop-Beispielordner, welcher eine Datei und einen Ordner enthält. Diese werde ich dir an dieser Stelle zeigen.

Dazu gebe ich „ls“ in die Kommandozeile ein, drücke die Enter-Taste und daraufhin wird uns der Inhalt dieses Verzeichnisses aufgelistet:

Mit ls wird uns in der Git Bash der Inhalt des Verzeichnisses angezeigt

Wir sehen die verschiedenen Elemente in unterschiedlichen Farben hervorgehoben. Die Einkaufsliste.txt-Datei ist in Weiß geschrieben, wobei es sich um eine normale Datei handelt. Ein Ordner hingegen, wie der mit dem Namen „weiterer Ordner“, ist blau hervorgehoben. Das Nützliche am ls-Befehl ist also, dass wir damit immer sehen können, was sich im aktuellen Verzeichnis, in welchem wir sind, befindet.

An dieser Stelle möchte ich dir zeigen, wie du ein Element verschieben bzw. umbenennen kannst.

6. Der mv-Befehl

Um eine Datei beispielsweise zu verschieben, nutzt man den mv-Befehl, was für „move“ steht. Damit ist gemeint, ein Element in ein anderes hinein zu bewegen. Wie funktioniert das Ganze? Wir möchten beispielhaft einmal die Einkaufsliste.txt-Datei in den Ordner „weiterer Ordner“ verschieben. Wie machen wir das? Wir schreiben dazu einfach „mv“, dann das Element, das wir verschieben möchten (Einkaufsliste.txt) und anschließend geben wir das Element, also den Ordner an, in den wir es verschieben möchten. Da wir es in den Ordner „Weiterer Ordner“ verschieben möchten, geben wir diesen an:

Mit dem mv-Befehl können wir in der Git Bash eine Datei verschieben

Jetzt gibt es hier allerdings ein Problem. Wenn wir diese Zeile so bestätigen, denkt die Kommandozeile, wir möchten die Einkaufsliste.txt-Datei in einen Ordner namens „Weiterer“ verschieben. Das liegt daran, dass sich eine Leerzeile zwischen „Weiterer“ und „Ordner“ befindet. Im Namen selbst befindet sich tatsächlich auch ein Leerzeichen, allerdings muss die Kommandozeile sehen, dass der Name nach dem Leerzeichen noch weiter geht.

Um das zu ermöglichen, schreiben wir vor dem Leerzeichen ein Backslash (\):

Vor dem Leerzeichen müssen wir ein Backslash setzen

Wenn wir diese Zeile jetzt bestätigen und anschließend den Befehl „ls“ schreiben, sehen wir, dass es funktioniert hat und sich im Beispielordner nur noch das Unterverzeichnis „Weiterer Ordner“ befindet:

Im Beispielordner befindet sich nur noch das Unterverzeichnis "weiterer Ordner"

Denn schließlich haben wir die Einkaufsliste.txt-Datei in den Ordner „Weiterer Ordner“ verschoben.

Um dir das Ganze zu demonstrieren, navigieren wir hierzu in „Weiterer Ordner“ und ergänzen bei der Namensangabe aufgrund des Leerzeichens wieder das Backslash. Anschließend drücken wir Enter und befinden uns daraufhin auch schon darin:

Wir befinden uns im Ordner "Weiterer Ordner"

Wenn wir an dieser Stelle nun „ls“ schreiben, sehen wir, dass sich hierin nun auch die Einkaufsliste.txt-Datei befindet:

Im Ordner befindet sich die Einkaufsliste.txt-Datei

Um in der Konsole wieder etwas Platz zu schaffen, schreibe ich noch einmal „clear“ und drücke die Enter-Taste. Dann gebe ich wieder „ls“ ein und wie sich daraufhin erkennen lässt, haben wir wirklich nur die Einkaufsliste.txt-Datei im Ordner „Weiterer Ordner“.

Nun möchte ich dir zeigen, dass du die Einkaufsliste.txt-Datei auch wieder in das übergeordnete Verzeichnis schieben kannst, indem du „mv Einkaufsliste.txt . .“ schreibst:

wir schieben die Einkaufsliste.txt-Datei wieder in das übergeordnete Verzeichnis

Dass wir diese Datei in das übergeordnete Verzeichnis geschoben haben, kann ich dir noch einmal veranschaulichen, nachdem ich die Konsole nochmals mit „clear“ freigeräumt habe.

Navigieren wir nun noch mal selbst ins übergeordnete Verzeichnis, indem wir „cd . .“ eingeben. Nachdem wir den Befehl mit Enter bestätigt haben, geben wir „ls“ ein und sehen dann, dass die Einkaufsliste.txt-Datei wieder im Beispielordner ist:

Wir geben in der Git Bash cd und ls ein

Mit dem Befehl „mv“ kann man aber nicht nur Dateien verschieben, sondern diese auch umbenennen. Um Einkaufsliste.txt beispielsweise umzubenennen, schreibt man „mv Einkaufsliste.txt“ und gibt anschließend einen neuen Namen eines Elements an, das hier noch nicht existiert.

Wenn wir nun also einfach einen neuen Namen schreiben, anstatt den Namen des Ordners anzugeben, der sich im aktuellen Verzeichnis befindet, verschieben wir die Einkaufsliste nicht, sondern benennen sie um.

Beispielhaft nenne ich das Ganze „Shoppinglist.txt“ und lasse mir die Änderung mit dem Befehl „ls“ anzeigen:

Wir benennen die Einkaufsliste in Shoppinglist.txt

Wie wir sehen, hat es funktioniert!

7. Der rm-Befehl

An dieser Stelle möchte ich dir zeigen, wie man mithilfe des „rm“-Befehls, welcher für „remove“ steht, Dateien löschen kann. Wir werden nun unsere Shoppinglist.txt-Datei löschen, indem wir „rm Shoppinglist.txt“ eingeben. Wenn wir das nun ausführen und anschließend „ls“ schreiben, sehen wir, dass die Shoppinglist.txt-Datei entfernt wurde:

Mit dem rm-Befehl in der Git Bash wird die Datei entfernt

Wichtig:
Mit diesem Befehl sollte man sehr vorsichtig umgehen. Die Shoppinglist.txt-Datei ist nämlich nicht im Papierkorb gelandet, sondern wurde tatsächlich entfernt.

Zum Schluss werden wir noch ein neues Verzeichnis mithilfe eines Konsolenkommandos erstellen.

8. Der mkdir-Befehl

Mit dem „mkdir“-Befehl, welcher für „make directory“ also „neues Verzeichnis erstellen“ steht, kann man einen neuen Ordner erstellen. Ich könnte an dieser Stelle zum Beispiel einen neuen Ordner namens „Listen“ anlegen, in dem ich verschiedene Einkaufslisten speichere.

Wenn ich diese Zeile im Anschluss bestätige, erstellt das Programm den neuen Ordner in unserem Beispielordnerverzeichnis, in welchem wir uns gerade befinden. 

Schreibe ich anschließend also noch „ls“, sehen wir den neuen Ordner „Listen“:

Der Befehl mkdir erstellt in der Git Bash ein neues Verzeichnis

In diesen Ordner kann ich nun auch mit dem Befehl „cd“ hinein navigieren, obwohl er aktuell noch leer ist, weil wir ihn gerade erst erstellt haben:

wir navigieren mit dem Befehl cd in den Ordner

So einfach kann man also mit „mkdir“ einen neuen Ordner erstellen.

An diesem Punkt habe ich dir auch schon die wichtigsten grundlegenden Befehle gezeigt, die du kennen solltest, um dich in der Git Bash zurechtzufinden.

Ich gebe nun noch einmal „clear“ ein, um die Konsole zu leeren und schreibe dann „cd“, um zurück ins User-Verzeichnis zu navigieren.

Wenn ich nun „pwd“ eingebe, siehst du, dass wir uns wieder im Verzeichnis /Users/Sorm befinden:

Wir befinden uns wieder im Verzeichnis Users/Sorm

Zu guter Letzt möchte ich dir noch ein paar nützliche Tipps zeigen, wodurch du mit der Konsole schneller arbeiten kannst.

9. 3 nützliche Tipps für das Arbeiten in der Git Bash

Tipp 1: Text aus Zwischenablage einfügen

Zuerst einmal sehen wir uns an, wie du in der MINGW64 Bash einen Text aus einer Zwischenablage einfügen kannst. Wir können nun also beispielsweise den Pfad aus einem Ordner kopieren und diesen in der Konsole einfügen:

Wir kopieren einen Ordnerlink und fügen ihn in der Git Bash ein

Wenn ich dafür nun STRG und V drücke, wie man das aus anderen Anwendungen gewohnt ist, stellen wir fest, dass das hier nicht funktioniert.

Um aus der Zwischenablage einen Text in der Konsole einzufügen, haben wir zwei Möglichkeiten:

1. Rechtsklick mit der Maus und „Paste“ auswählen.

2. SHIFT und die EINFG-Taste drücken.

Wie wir auf der folgenden Abbildung sehen, konnten wir den Text dadurch einfügen:

Der Text wird in der Git Bash eingefügt
Zu wissen, dass man einen kopierten Text aus der Zwischenablage nicht mit STRG + V, sondern mit SHIFT + EINFG in der Konsole einfügt, ist also ziemlich wichtig.

Tipp 2: Letzten Befehl aufrufen und in die Konsole kopieren

Als Nächstes möchte ich dir den Befehlsverlauf zeigen. Mit der Pfeiltaste nach oben kannst du den letzten Befehl, den du geschrieben hast, noch mal direkt in die Konsole kopieren. Wenn du die Pfeiltaste weitere Male nach oben drückst, kannst du das sogar noch mit anderen Befehlen aus der Vergangenheit durchführen. Auf diese Art und Weise ist es möglich, durch vorherige Befehle, die du bereits geschrieben hast, nochmals zu navigieren und sie zu wiederholen. So sparst du dir die Zeit, sie erneut auszuschreiben.

Schreibe ich jetzt beispielsweise „pwd“, dann gibt das Programm mein aktuelles „working directory“ aus. Drücke ich nun aber noch mal die Pfeiltaste nach oben, schreibt das Programm direkt wieder „pwd“ in die Konsole. Weil das der letzte Befehl gewesen ist, den ich geschrieben habe. Wenn ich die Pfeiltaste hingegen nach unten drücke, wird der Befehl wieder entfernt.

Tipp 3: Autovervollständigung

Zu guter Letzt möchte ich dir die Autovervollständigung des Terminals vorstellen. Durch Drücken der Tab-Taste kann man den Text, den man gerade in der Konsole geschrieben hat, als Befehl autovervollständigen lassen.

Wir befinden uns gerade im Beispielordner, welcher sich auf meinem Desktop befindet. Dieser ist bei mir geöffnet und wir sehen dort rechts Ordner 1, Ordner 2 und Ordner 3:

Wir befinden uns im Beispielordner und sehen Ordner 1, 2 und 3

Ich möchte nun mal in Ordner 3 navigieren. Dazu schreibe ich „cd“ für „change directory“, gefolgt von „Ord“ und drücke anschließend die Tab-Taste. Wie wir sehen, wird das Wort „Ordner“ auch direkt autovervollständigt:

Das Wort Ordner wird in der Git Bash automatisch vervollständigt durch Drücken der Tabulatortaste

Jetzt gibt es hier aber verschiedene Ordner mit unterschiedlichen Zahlen. Wenn ich nun noch 2-mal die Tab-Taste drücke, zeigt mir die Konsole die verschiedenen Optionen an:

In der Konsole werden die Optionen angezeigt

Möchte ich beispielsweise den Ordner 2 auswählen, dann tippe ich die Zahl 2 ein und drücke anschließend die Enter-Taste:

Wir wählen in der Git Bash Ordner 2

Man kann also mit der Tab-Taste Texte autovervollständigen und genau das würde ich dir empfehlen, zur Gewohnheit zu machen. Damit kannst du nämlich wesentlich effektiver, schneller und mit mehr Spaß in der Konsole arbeiten. Denn: Man vertippt sich damit seltener.

An dieser Stelle sind wir auch schon am Ende dieses Beitrags angekommen. Du hast nun die Grundlagen des MINGW-Terminals kennengelernt und weißt, wie man sich durch das File-System navigieren kann. Im kommenden Artikel werden wir mit Git starten.