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
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
HEAD
Als HEAD wird in Git der aktuelle Snapshot bezeichnet. Intern aktualisiert der Befehl "git checkout" den HEAD lediglich so, dass er auf den angegebenen Branch oder Commit verweist. Zeigt der Verweis auf einen Branch, meldet Git kein Problem. Wenn du allerdings einen Commit auscheckst, wechselst du in einen Zustand mit "losgelöstem" HEAD.
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.