In diesem Kurs lernen Sie die ersten Befehle an einer Command Line auszuführen und diese an einem Projekt im Git anzuwenden. Wir lernen ebenfalls, wie wir eine neue Branch erstellen können und diese mit der Master Branch zusammenführen. Die wichtigsten Befehle, die in diesem Kurs verwendet werden, sind:
Nachdem Sie git konfiguriert haben, können wir einen neuen Ordner für unser Beispiel erstellen.
Als ersten Schritt öffnen wir die Command shell. Für Windows können Sie Git bash verwenden, das in Git für Windows enthalten ist. Für Mac und Linux können Sie das integrierte Terminal verwenden.
Als Erstes prüfen wir mit folgendem Befehlstext, ob Git richtig installiert ist:
Nachdem Git eine Version ausgibt, können wir einen Ordner für das erste Beispiel erstellen. Dafür können wir die folgenden Befehle “mkdir” tippen und einen neuen Ordner mit dem Namen “beispiel” erstellen. Der Befehl “mkdir” bedeutet “make directory” und ist eine Befehlszeile. Mit dem nächsten Befehl “cd” wechseln wir zum neu erstellten Ordner “beisipel”. Die Abkürzung “cd” bedeutet in der Befehlszeile “change directory”.
mkdir beispiel
–> erstellt einen neuen Ordner mit dem Namen beispielcd beispiel
–> wechselt das aktuelle ArbeitsverzeichnisSobald Sie zum richtigen Ordner navigiert sind, können Sie Git für diesen Ordner initialisieren und ihr erstes Projekt erstellen. Das Projekt wird im Git als “Repository” benannt:
git init
Herzlichen Glückwunsch! Sie haben soeben Ihr erstes Git Repository erstellt.
Nachdem Sie Ihr erstes lokales Repository erstellt haben, wollen wir in diesem Projekt einige Dateien hinzufügen. Öffnen Sie Ihren bevorzugten Texteditor und schreiben Sie das Folgende:
print("Hello world!!")
Speichern Sie diesen Text in Ihrem aktuellen Verzeichnis mit dem Titel hello_world.py. Kehren wir zum Git bash/Terminal zurück und listen wir die Dateien in unserem aktuellen Arbeitsverzeichnis mit dem Befehlstext “ls” auf:
ls
ls listet die Dateien in diesem Verzeichnis auf. Wir können sehen, dass hello_world.py im neu erstellten Repository resp. Projekt enthalten ist.
Wir prüfen nochmals den aktuellen Zustand mittel der Befehlzeile Git Status und sehen, ob sie Teil unseres Repository resp. Projekt ist:
Jetzt kennt Git die Datei zwar, hat sie aber nicht in unser Repository aufgenommen. Dateien in Ihrem Git Repository Ordner können sich in einem von 2 Zuständen befinden:
Wenn Sie zum ersten Mal Dateien zu einem leeren Repository hinzufügen, sind sie alle untracked. Damit Git sie verfolgen kann, müssen Sie sie in die Staging Umgebung einfügen.
Eine der Hauptfunktionen von Git sind die Konzepte der Staging Umgebung und des Commits.
Während der Arbeit kann man Dateien hinzufügen, bearbeiten und entfernen. Wenn Sie einen Milestone erreichen, sollten Sie die Dateien zu einer Staging Umgebung hinzufügen.
Staging Dateien sind Dateien, die bereit sind, in das Repository übertragen zu werden, an dem Sie arbeiten. Jetzt können wir die Datei, an der wir arbeiten, hinzufügen.
git add hello_world.py
Jetzt sollte die Datei bereitgestellt (for staging) werden. Als nächsten Schritt können wir nun wieder den Zustand unseres Projekts mit Status überprüfen
Da wir unsere Arbeit abgeschlossen haben, sind wir bereit, von einer Phase zu einem Commit für unser Repository überzugehen. Durch das Hinzufügen von Commits werden unsere Fortschritte und Änderungen während der Arbeit festgehalten. Git betrachtet jeden Commit als Änderungspunkt. Es ist ein Punkt im Projekt, zu dem man zurückkehren kann, wenn man einen Fehler findet oder eine Änderung vornehmen möchte.
Wenn wir einen Commit durchführen, sollten wir immer eine Nachricht hinzufügen.
Der commit Befehl führt eine Übergabe durch, und das -m “message” fügt eine Nachricht hinzu. Die Staging Umgebung wurde mit der Nachricht in unser Repository übertragen: “first commit”
Um die Geschichte der Commits für das Repository anzuzeigen, können Sie den Befehl log verwenden:
git log
In Git ist ein branch eine neue Version des Haupt Repositorys. Branches ermöglichen es Ihnen, an verschiedenen Teilen eines Projekts zu arbeiten, ohne den “main branch” zu beeinträchtigen. Wenn die Arbeit abgeschlossen ist, kann ein Ast oder sog. Branch mit dem Hauptprojekt zusammengeführt werden.
Es gibt auch die Möglichkeit zwischen den Branches wechseln und an verschiedenen Projekten arbeiten, ohne dass sie sich gegenseitig behindern. Nehmen wir an, wir arbeiten in unserem lokalen Repository und wollen das Hauptprojekt nicht stören oder möglicherweise manipulieren. Also werden wir ein neues Branch erstellen:
git branch feature
–> erstellt einen neuen Branch (feature)Um zu bestätigen, dass wir einen neuen branch haben, können wir schreiben:
git branch
Wir können den neuen Branch mit dem Namen “feature” sehen, aber das * neben master gibt an, dass wir uns derzeit in diesem branch befinden. checkout ist der Befehl, mit dem ein branch ausgecheckt wird. Er verschiebt uns vom aktuellen branch zu dem am Ende des Befehls angegebenen branch:
Jetzt haben wir die aktuelle Arbeit aus dem master branch in einem neuen branch verschoben. Öffnen Sie Ihr bevorzugten Editor und nehmen Sie einige Änderungen vor. Hier habe ich zum Beispiel eine neue Funktion in die Datei hello_world.py eingefügt.
Als nächsten Schritt können wir sehen, dass derselbe Arbeitsablauf wie zuvor durchlaufen wird (git status, git add, git commit).
git status
git add .
–> fügt alles der Staging Umgebung eingit commit -m " "
Jetzt haben wir einen neuen branch (feature), der sich vom master branch unterscheidet.
Wir haben den feature branch fertig, also führen wir den master und feature zusammen.
Zuerst müssen wir in den master branch wechseln:
git checkout master
git merge feature
–> zusammenführung der beiden branchesDa der feature branch direkt von master stammt und während unserer Arbeit keine weiteren Änderungen an master vorgenommen wurden, betrachtet Git dies als Fortsetzung von master.
Es gibt mehrere Möglichkeiten, den Befehl help in der Befehlszeile zu verwenden:
git command -help
–> Zeigt alle verfügbaren Optionen für einen bestimmten Befehl angit help --all
–> Zeigt alle möglichen Befehle an
If you see mistakes or want to suggest changes, please create an issue on the source repository.