Kapitel ▾ 2. Auflage

A3.8 Anhang C: Git-Befehle - Patches

Patching

Einige Befehle in Git konzentrieren sich auf das Konzept, Commits in Bezug auf die von ihnen eingeführten Änderungen zu betrachten, so als ob die Commit-Serie eine Reihe von Patches wäre. Diese Befehle helfen Ihnen, Ihre Branches auf diese Weise zu verwalten.

git cherry-pick

Der Befehl git cherry-pick wird verwendet, um die von einem einzelnen Git-Commit eingeführte Änderung zu übernehmen und sie als neuen Commit auf dem Branch wieder einzuführen, auf dem Sie sich gerade befinden. Dies kann nützlich sein, um nur einen oder zwei Commits einzeln von einem Branch zu übernehmen, anstatt den gesamten Branch zu mergen, was alle Änderungen übernimmt.

Cherry-Picking wird in Rebasing und Cherry-Picking-Workflows beschrieben und demonstriert.

git rebase

Der Befehl git rebase ist im Grunde ein automatisierter cherry-pick. Er bestimmt eine Reihe von Commits und wendet sie dann nacheinander in derselben Reihenfolge an einer anderen Stelle an.

Rebasing wird ausführlich in Rebasing behandelt, einschließlich der kollaborativen Probleme, die beim Rebasing von bereits öffentlichen Branches auftreten.

Wir verwenden es in der Praxis während eines Beispiels zum Aufteilen Ihrer Historie in zwei separate Repositories in Ersetzen, wobei auch das Flag --onto verwendet wird.

Wir durchlaufen die Begegnung mit einem Merge-Konflikt während des Rebasings in Rerere.

Wir verwenden es auch in einem interaktiven Skriptmodus mit der Option -i in Mehrere Commit-Nachrichten ändern.

git revert

Der Befehl git revert ist im Wesentlichen ein umgekehrtes git cherry-pick. Er erstellt einen neuen Commit, der genau das Gegenteil der von Ihnen anvisierten Änderung einführt, und macht diese im Wesentlichen rückgängig oder revertiert sie.

Wir verwenden dies in Den Commit rückgängig machen, um einen Merge-Commit rückgängig zu machen.