Wie kann ich feststellen, ob ein Commit ein Vorfahr eines anderen Commits ist (oder umgekehrt)?

Git ist einDAG von Snapshots, wobei jeder Knoten im Diagramm ein Commit darstellt. Jedes Commit kann übergeordnete Commits enthalten.

Gibt es eine einzige, prägnante Möglichkeit, die "Reihenfolge" dieser beiden in der DAG zu erkennen, wenn man zwei Commits voraussetzt?git rev-list scheint das vielversprechendste zu sein, aber ich kann nicht die richtige Beschwörung finden.

Im Idealfall hätte ich so etwas wie das Folgende

$ git related hash1 hash2
hash1 is ancestor of hash2

ODER

hash2 is ancestor of hash1

ODER

hash1 unrelated to hash2

ODER

hash1 is equal to hash2

Antworten auf die Frage(5)

Ihre Antwort auf die Frage