Warum gibt es keine Hierarchie anstelle eines langen Flat-Commit-Verlaufs? Auf der obersten Ebene haben Sie möglicherweise Pull-Anforderungen. Dann können Sie eine Ebene tiefer gehen und sich die Commits in dieser PR ansehen. Mir ist klar, dass PRs spezifisch für Github sind, aber Sie haben die Idee. Ich meine nur, zum Beispiel eine Reihe von Commits als Feature oder Bugfix zu gruppieren.
Sicherlich würde dies die Navigation im Commit-Verlauf erheblich vereinfachen.
Ich bin mir sicher, dass es eine offensichtliche Antwort auf diese Frage gibt, aber ich kann sie scheinbar nicht finden.
version-control
git
Eggbert
quelle
quelle
Antworten:
Es gibt einen langen Flat Commit-Verlauf, da die Änderungen sequentiell sind. Jeder baut auf dem Vorher-Zustand auf und hinterlässt einen Nachher-Zustand. Es wäre schwierig, Änderungen zu haben, die dies nicht widerspiegeln.
Eine Option zum Gruppieren verwandter Änderungen ist die Verwendung von Tags - http://git-scm.com/book/en/Git-Basics-Tagging. Sie werden jedoch eher zum Markieren eines Punkts im Verlauf als zum Gruppieren unterschiedlicher Commits verwendet.
Um Commits zu größeren Commits zusammenzufassen, können Sie auch interaktive Neugründungen durchführen.
Zweige sind eine Option. Sie können einen Zweig erstellen und eine Reihe von Commits ausführen, die logisch miteinander verbunden sind. Sie können diese Commits wie gewünscht wieder in Master zusammenführen - wahrscheinlich mithilfe der
--no-ff
Option.Die Beziehung zwischen Zweigen kann auch in visuellen Werkzeugen wie gitg / gitx gesehen werden
quelle
Ich hatte das gleiche Problem, als ich darüber nachdachte, bis ich entdeckte, dass Git seine übergeordneten Zweige nummeriert . Vor diesem Hintergrund ist die in der Regel ärgerlich Merge Commits , die erzeugt werden kann Zusammenfassung Knoten betrachtet werden. Alle zusätzlichen Details können aus dem Blickfeld verbannt werden, sodass eine einzige, zusammengefasste lineare Historie verbleibt.
Überprüfen Sie diesen Blog-Beitrag für Details und Beispiele.
quelle
Sie gruppieren Commits in Zweigen: Jeder Zweig besteht aus einer Reihe von Commits. Wenn Sie Commits zusammenführen, fügen Sie einen Satz von Commits in einen anderen Zweig ein und erstellen so effektiv eine Hierarchie von Commits: Hauptzweig, Funktionen, Fehler, Experimente, wie Sie es nennen.
Im Idealfall besteht Ihr Hauptzweig aus einer Reihe von Merge-Commits. Wenn Sie sich nur Ersteltern ansehen (Git-Befehle akzeptieren eine solche Option), haben Sie die allgemeine Ansicht Ihres Verlaufs (hoffentlich schreiben Sie ein aussagekräftiges Zusammenführungs-Commit, nicht das automatisch generierte). Wenn Sie sich jedoch die 2., 3. usw. Eltern einer Zusammenführung in Ihrem Verlauf ansehen, öffnen Sie die Box, um zu sehen, was sich in einer Zusammenführung befindet. Hier haben Sie Details darüber, was passiert ist.
quelle