2016-06-10 2 views
0

Betrachten Sie das folgende Git-Protokoll. Die Commits sind nach Datum sortiert. Doch es gibt ein Commit, das deutlich älter ist als andere, aber immer noch an der Spitze erscheint.Warum erscheint dieser ältere Git-Commit an der Spitze?

commit f9afb9e89918faaff09686ce1df4a36f12e82693 
Author: Kshitiz Sharma 
Date: Fri May 20 11:59:00 2016 +0100 

    Deleted tags 

commit f3b90300799878178c09841ccac7ffcd4c9cc4d9 
Author: Kshitiz.Sharma 
Date: Fri Jun 10 13:00:32 2016 +0000 

    Refactor some code 

    git-svn-id: svn://1.1.1.1/[email protected] ca623f4c-c864-0410-95d3-a40aa24e21c6 

commit c98ad952b84403908ba656ab2f18af9a18a4f95c 
Author: Kshitiz.Sharma 
Date: Wed Jun 8 14:35:29 2016 +0000 

    Handle nullpointer exception 

    git-svn-id: svn://1.1.1.1/[email protected] ca623f4c-c864-0410-95d3-a40aa24e21c6 

Warum ist es so?

Antwort

2

Das Datum des Commits bestimmt nicht die Reihenfolge von ihnen. Drei Situationen können erstellen out-of-date-Auftrag verpflichtet:

  1. A begehen kann ein gefälschtes Datum Set
  2. A begehen kann aus einem anderen Zweig Stamm und wurde möglicherweise mit einem merge (den üblichen git log eingeführt zeigt keine Zusammenführungen).
  3. A begehen durch eine rebase bewegt wurden in der Umgebung kann (was die um der Commits in der Grafik bewegt sich verpflichten, lässt aber das ursprüngliche Datum intakt)

durch die Tatsache zu urteilen Sie git-svn verwenden, die eine Menge tut von Rebasing, ich würde vermuten, es ist ein Fall von Nummer 3.

2

Das Commit oben wurde nicht an das SVN-Repository weitergeleitet. Es existiert nur in Git. Die anderen Commits wurden an SVN gesendet (unter Verwendung von git svn dcommit, wie durch ihre git-svn-id s belegt).

Wenn Sie die letzten Änderungen von SVN mit git svn rebase ziehen, ordnet git-svn Ihre Commits neu an und setzt Ihre lokalen Sachen auf den (linearen) SVN-Verlauf. (Das heißt, es ist buchstäblich rebases irgendwelche commits SVN weiß nicht über.)

Rebasing nur umordnet die Geschichte. Die Commit-Daten werden nicht geändert.

Verwandte Themen