Die Befehle git reset, git checkout und git revert gehören zu den nützlichsten Werkzeugen, die Git mitbringt. Sie alle ermöglichen es, Änderungen in einem Repository rückgängig zu machen, wobei die ersten beiden auch genutzt werden können, um Commits oder individuelle Dateien zu modifizieren. Weil sie sich so ähnlich sind, kann man leicht verwechseln, welcher Befehl in welchem Entwicklungsszenario zum Einsatz kommen sollte. Dieses und die folgenden Tutorials vergleichen die am häufigsten auftretenden Konfigurationen von git reset, git checkout und git revert.
Tag Archives: Stash
Git in der Praxis: Mit Fixup und Autosquash die Historie sauber halten
Im Arbeitsalltag eines Entwicklers geschieht es auch in Git-verwalteten Projekten häufig, dass sich die Commit-Historie in einem Branch mit Korrektur-Commits füllt, die mit Etiketten wie “Typo korrigiert”, “Kommentar entfernt” usw. versehen sind. Um diese Historie nun sauber halten zu können, bietet uns Git (wie so oft) unterschiedliche Möglichkeiten an, von denen ich hier eine spezielle Kombination vorstellen möchte: git commit –fixup und git rebase -i –autosquash.
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.
Case Study: Die neue Atlassian-Infrastruktur der CIP4 Organization
Atlassian-Werkzeuge bringen Unternehmen voran und helfen, Prozesse zu vereinfachen, zu systematisieren und zu integrieren. Wir unterstützen unsere Kunden mit auf sie zugeschnittenen Lösungen, besser zusammenzuarbeiten und ihre spezifischen Herausforderungen mithilfe von Atlassian-Software zu lösen. Hier ist eine aktuelle Fallstudie unseres Kunden CIP4 Organization.
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.