Die Git-Befehle git reset, git checkout und git revert kann man leicht durcheinanderbringen. Diese Tutorial-Reihe soll helfen, sie voneinander abzugrenzen und Git-Entwickler in die Lage zu versetzen, immer das richtige Kommando für eine spezifische Entwicklungsaufgabe zur Hand zu haben. Nachdem wir uns im ersten Teil git reset näher angesehen haben, widmen wir uns nun dem Auschecken und dem Reverting.
Tag Archives: Versionsverwaltung
Git: Merging vs. Rebasing (Teil 3)
In den beiden ersten Teilen dieser Artikelreihe haben wir uns mit konzeptionellen Fragen rund um git merge vs. git rebase auseinandergesetzt und Möglichkeiten besprochen, um das Rebasing sinnvoll in den Entwicklungs-Workflow mit Git einzubinden. Darauf aufbauend folgen hier nun weitere Anwendungsfälle.
Git: Merging vs. Rebasing (Teil 2)
Das Kommando git rebase ist ein Feature für fortgeschrittene Nutzer, das vielfältige Möglichkeiten bietet, aber mit Bedacht eingesetzt sein will. Nachdem wir uns im ersten Artikel mit konzeptionellen Fragen und den Möglichkeiten des interaktiven Rebasings beschäftigt haben, wollen wir nun betrachten, welche Regeln bei der Arbeit mit git rebase einzuhalten sind und wie sich der Befehl sinnvoll in unsere Entwicklungs-Workflows mit Git einbinden lässt.
Git: Merging vs. Rebasing (Teil 1)
Der Befehl git rebase hat einen gewissen Ruf als Kommando für Fortgeschrittene, das Git-Einsteiger meiden sollten. Doch git rebase kann einem Entwicklungsteam das Leben deutlich leichter machen, wenn es sorgsam verwendet wird. In diesem Beitrag und folgenden Artikeln wollen wir git rebase mit git merge vergleichen.
Git: Mit Branches arbeiten (git merge)
Im Zusammenhang mit Branches sieht Git drei zentrale Operationen vor. Nach den ersten beiden Tutorials zum Erstellen von Branches und zum Auschecken von Branches wenden wir uns nun dem Mergen zu. Merging ist in Git der Weg, eine geforkte Historie wieder zusammenzuführen. Der Befehl git merge ermöglicht es uns, die unabhängigen Entwicklungslinien, die wir mit git branch erstellt haben, in einen einzelnen Branch zu integrieren.
Git: Mit Branches arbeiten (git checkout)
Mit dem Befehl git checkout können wir zwischen Branches navigieren, die wir mit git branch erstellt haben. Das Auschecken eines Branchs aktualisiert das Arbeitsverzeichnis, sodass es mit der Version übereinstimmt, die in diesem Branch gespeichert ist, und sagt Git, dass alle neuen Commits auf diesem Branch festgehalten werden sollen. Das können wir uns als einen Weg vorstellen, die Entwicklungsslinie auszuwählen, an der wir arbeiten. Wie genau das funktioniert, zeigt dieses Tutorial.
Git: Mit Branches arbeiten (git branch)
Dieses Tutorial bietet eine kompakte Einführung zum Thema Git-Branches. Zunächst soll uns interessieren, wie Branches erstellt werden. Kommende Artikel widmen sich dann dem Auschecken von Branches und dem Mergen, um die Historie eines unabhängigen Branchs zu integrieren.
Git-Tutorial: Synchronisation (Teil 4: git push)
In dieser Tutorial-Reihe beschäftigen wir uns mit der Zusammenarbeit zwischen Software-Entwicklern in einem Git-basierten Projekt: Zunächst sollen Repositories synchronisiert werden. In den ersten Beiträgen ging es in diesem Zusammenhang darum, mit git remote Verbindungen zwischen Repos einzurichten, mit git fetch Commits zu importieren und mit git pull Upstream-Änderungen in ein lokales Repository zu mergen. Mit git push können Commits nun von einem lokalen Repository in ein Remote-Repo transferiert werden.
Git-Tutorial: Synchronisation (Teil 3: git pull)
In dieser Tutorial-Reihe beschäftigen wir uns mit der Zusammenarbeit zwischen Entwicklern in einem Git-basierten Projekt: Als erstes geht es darum, Repositories zu synchronisieren. Zunächst wurde beschrieben, wie mit git remote Verbindungen zwischen Repos eingerichtet werden können und wie sich mit git fetch Commits importieren lassen. Nun geht es um das Mergen von Upstream-Änderungen in ein lokales Repository. Wie im letzten Tutorial gezeigt, geht das mit git fetch gefolgt von git merge. git pull verkürzt diesen Prozess auf ein einzelnes Kommando.
Demo: Versionierung und Revisionsmanagement in Confluence
Confluence ist ein offenes System, in dem Leute zusammenarbeiten und gemeinsam Inhalte entwickeln. Dabei besteht jedoch stets Kontrolle und Transparenz über alle Änderungen: Das sehr ausgereifte Revisionsmanagement erlaubt es, jede Modifikation einer Seite nachzuvollziehen, einem spezifischen Nutzer zuzuordnen und bei Bedarf auch wieder rückgängig zu machen. Unser Demovideo zeigt, wie einfach in Confluence Seitenversionen verglichen werden können und wie sich Änderungen per Knopfdruck zurückrollen lassen.