Close

Befehle


git add

Verschiebt Änderungen aus dem Arbeitsverzeichnis in die Staging-Umgebung. Auf diese Weise kannst du einen Snapshot vorbereiten, bevor du an den offiziellen Verlauf committest.

Zugehörige Tutorials

git branch

Dieser Befehl ist dein Allzwecktool zur Branch-Administration. Damit kannst du isolierte Entwicklungsumgebungen innerhalb eines einzigen Repositorys erstellen.

Zugehörige Tutorials

git checkout

Neben dem Auschecken alter Commits und alter Dateiüberarbeitungen kannst du mit "git checkout" auch zwischen bestehenden Branches navigieren. In Kombination mit den grundlegenden Git-Befehlen kann dadurch in einer bestimmten Entwicklungslinie gearbeitet werden.

Zugehörige Tutorials

git clean

Entfernt alle Dateien aus dem Arbeitsverzeichnis, die nicht verfolgt werden. Dies ist das logische Gegenstück zu "git reset", das (üblicherweise) nur verfolgte Dateien erfasst.

Zugehörige Tutorials

git clone

Erstellt eine Kopie eines bestehenden Git-Repositorys. Klonen ist für Entwickler die gängigste Art, eine Arbeitskopie eines zentralen Repositorys zu erhalten.

Zugehörige Tutorials

Git commit

Committet den Snapshot aus der Staging-Umgebung in den Projektverlauf. Zusammen mit "git add" bildet er den grundlegenden Workflow für alle Git-Benutzer.

Zugehörige Tutorials

git commit --amend

Mit --amend kannst du den aktuellsten Commit ändern. Dies ist sehr nützlich, wenn du vergessen hast, eine Datei in die Staging-Umgebung zu verschieben, oder in der Commit-Nachricht wichtige Informationen ergänzen möchtest.

Zugehörige Tutorials

git config

Eine bequeme Methode zur Einstellung von Konfigurationsoptionen für deine Git-Installation. Üblicherweise kommt dies nur direkt nach der Installation von Git auf einem neuen Entwicklerrechner zum Einsatz.

Zugehörige Tutorials

git fetch

Mit "git fetch" wird ein Branch von einem anderen Repository zusammen mit allen zugehörigen Commits und Dateien heruntergeladen. Dabei wird jedoch nichts in dein lokales Repository integriert. Auf diese Weise hast du die Möglichkeit, Änderungen vor dem Merge in dein Projekt noch zu überprüfen.

Zugehörige Tutorials

git init

Initialisiert ein neues Git-Repository. Wenn du für ein Projekt eine Versionskontrolle einrichten möchtest, ist dies der erste Befehl, den du kennen musst.

Zugehörige Tutorials

git log

Damit kannst du ältere Überarbeitungen eines Projekts ansehen. Der Befehl bietet mehrere Formatierungsoptionen zur Anzeige committeter Snapshots.

Zugehörige Tutorials

git merge

Eine leistungsstarke Option zur Integration von Änderungen von voneinander abweichenden Branches. Nach dem Forken des Projektverlaufs mit "git branch", kann diese mit "git merge" wieder zusammengeführt werden.

Zugehörige Tutorials

git pull

Pulls sind die automatisierte Version von git fetch. Dabei wird ein Branch von einem Remote-Repository heruntergeladen und dann direkt in den aktuellen Branch gemergt. Dies ist das Git-Äquivalent von svn update.

Zugehörige Tutorials

git push

"git push" ist das Gegenteil von "git fetch" (mit ein paar Einschränkungen). Du kannst mit diesem Befehl einen lokalen Branch in ein anderes Repository verschieben, was eine bequeme Methode zur Veröffentlichung von Beiträgen ist. Dies ist wie "svn commit", aber hierbei wird eine Reihe von Commits statt eines einzigen Changesets gesendet.

Zugehörige Tutorials

git rebase

Mit Rebasing kannst du Branches verschieben, um unnötige Merge-Commits zu vermeiden. Der daraus resultierende lineare Verlauf ist oft leichter zu verstehen und zu durchsuchen.

Zugehörige Tutorials

git rebase -i

Der Zusatz "-i" wird zum Start einer interaktiven Rebasing-Sitzung verwendet. Sie bietet alle Vorteile eines normalen Rebasings, du erhältst aber zusätzlich die Möglichkeit, Commits dabei hinzuzufügen, zu bearbeiten oder zu löschen.

Zugehörige Tutorials

git reflog

Git verfolgt die Updates an den Branch-Spitzen mit einem Mechanismus namens Reflog. Mit ihm kannst du zu Changesets zurückgehen, auch wenn keine Referenz zu einem Branch oder Tag besteht.

Zugehörige Tutorials

git remote

Ein praktisches Tool zur Verwaltung von Remote-Verbindungen. Statt der Angabe der vollen URL bei den Befehlen "git fetch" "git pull" und "git push" kannst du auf diese Weise eine sinnvollere Kurzform eingeben.

Zugehörige Tutorials

git reset

Macht Änderungen an Dateien im Arbeitsverzeichnis rückgängig. Durch das Zurücksetzen kannst du Änderungen bereinigen oder komplett entfernen, wenn diese noch nicht in ein öffentliches Repository gepusht wurden.

Zugehörige Tutorials

git revert

Macht einen committeten Snapshot rückgängig. Wenn du einen fehlerhaften Commit entdeckst, kannst du ihn mit "git revert" sicher und einfach von der Codebasis entfernen.

Zugehörige Tutorials

git status

Gibt den Status des Arbeitsverzeichnisses und den Status des Snapshots in der Staging-Umgebung zurück. Diesen Befehl solltest du zusammen mit "git add" und "git commit" ausführen, um genau zu sehen, was im nächsten Snapshot enthalten sein wird.

Zugehörige Tutorials

Terminologie


Branch

Branches sind unabhängige Entwicklungslinien. Sie dienen als Abstrahierung des Prozesses "Bearbeitung/Staging/Commit", den wir im ersten Modul dieser Serie beschrieben haben (Git Basics). Du kannst dir Branches als eine Möglichkeit vorstellen, ein vollständig neues Arbeitsverzeichnis inklusive neuer Staging-Umgebung und neuem Projektverlauf einzurichten. Neue Commits werden im Verlauf des aktuellen Branch aufgezeichnet. Das wird im Projektverlauf durch eine Fork abgebildet.

Zugehörige Tutorials

Zentraler Git-Workflow

Wenn deine Entwickler bereits mit Subversion vertraut sind, bietet der zentralisierte Workflow die Vorteile von Git, ohne dass sie sich an einen völlig neuen Prozess gewöhnen müssen. Er dient auch als angenehmer Übergang zu stärker Git-orientierten Workflows.

Zugehörige Tutorials

Feature Branch Workflow

Der Feature Branch Workflow baut auf dem zentralisierten Workflow auf, indem er neue Features in dedizierte Branches einkapselt. Dies ermöglicht die Verwendung von Pull-Requests zum Diskutieren über Änderungen, bevor diese in das offizielle Projekt integriert werden.

Zugehörige Tutorials

Forking

Anstatt ein einzelnes serverseitiges Repository als zentrale Codebasis zu verwenden, bietet er jedem Entwickler ein serverseitiges Repository. Jeder Beteiligte arbeitet also nicht mit einem sondern zwei Git-Repositorys: einem privaten, lokalen und einem öffentlichen auf Serverseite.

Zugehörige Tutorials

Git-flow-Workflow

Der Git-flow-Workflow optimiert den Release-Zyklus mithilfe von isolierten Branches für die Feature-Entwicklung, zum Vorbereiten von Releases und zur Wartung. Sein striktes Branching-Modell verleiht größeren Projekten außerdem das nötige Maß an Struktur.

Zugehörige Tutorials

Hook

Ein Skript, das jedes Mal, wenn ein bestimmtes Ereignis in einem Git-Repository auftritt, automatisch ausgeführt wird. Mit Hooks kannst du das interne Verhalten von Git individuell anpassen und benutzerdefinierte Aktionen an wichtigen Punkten im Entwicklungszyklus auslösen.

Zugehörige Tutorials

Haupt-Branch

Der standardmäßige Entwicklungs-Branch. Immer, wenn du ein Git-Repository erstellst, wird auch ein "Haupt-Branch" ("main"-Branch) erstellt. Dieser wird zum aktiven Branch.

Zugehörige Tutorials

Pull-Request

Pull-Requests erleichtern Entwicklern die Zusammenarbeit in Bitbucket. Die Entwickler können Änderungsvorschläge über eine benutzerfreundliche Weboberfläche diskutieren, bevor sie in das offizielle Projekt eingearbeitet werden.

Zugehörige Tutorials

Repository

Eine Sammlung von Commits sowie Branches und Tags, die helfen, die Commits zu erkennen

Zugehörige Tutorials

Tag

Eine Referenz, mit der üblicherweise ein bestimmter Punkt in der Commit-Kette markiert wird. Im Gegensatz zu einem Head wird ein Tag nicht durch den Commit-Befehl aktualisiert.

Zugehörige Tutorials

Versionskontrolle

Ein System zur Aufzeichnung von Änderungen, die im Laufe der Zeit an einer Datei oder einem Satz an Dateien vorgenommen werden, damit später bestimmte Versionen aufgerufen werden können.

Zugehörige Tutorials

Arbeitsbaum

Der Baum tatsächlich ausgecheckter Dateien, der normalerweise den Inhalt des Baums der HEAD-Commits und alle lokalen Änderungen, die du vorgenommen, aber noch nicht committet hast, enthält.

Zugehörige Tutorials

Du möchtest mit Git arbeiten?