2014-03-28 53 views
0

git rev-list的手冊頁:git rev-list與git rev-list --date-order有什麼不同?

默認情況下,提交顯示按時間倒序排列。

而爲--date-order選項的解釋是:

此選項類似於--topo階在某種意義上說,沒有父母來到其所有的孩子之前,但在其他事情仍在有序在提交時間戳順序。

如果我指定--date-order或者如果我不指定,有什麼區別?在這兩種情況下,是否按提交者日期或作者日期提交訂單?

回答

1

默認情況下,Git並不徵收「孩子之前沒有父」,並似乎做歷史的深度優先遍歷。您可能最終會在輸出中間的某個地方進行第一次提交。

--date階和--topo階不強加輸出順序上附加的「孩子之前無父」的約束。

最新版本的Git有somewhat better explanation

--date階

顯示沒有父母所有的孩子都顯示之前,但在其他方面展現在提交時間戳順序提交。

- 發行訂單 在顯示所有子項之前不顯示父項,並且避免顯示混合在多行歷史記錄中的提交。

例如,在這樣的提交歷史:

---1----2----4----7 
    \    \ 
    3----5----6----8--- 

,其中數字表示提交時間戳,git的轉速名單和朋友--date順序的順序顯示在時間戳 提交order:8 7 6 5 4 3 2 1.

With --topo-order,它們會顯示8 6 5 3 7 4 2 1(或8 7 4 2 6 5 3 1);一些較舊的提交顯示在較新的提交之前,以避免 顯示來自兩個並行開發軌道混合在一起的提交 。

+0

我是在假定的日期指的提交者日期,而不是作者日期正確嗎? – Flimm

+0

是的。我相信這就是「** commit ** timestamps」的git手冊的意思 – ArtemB

+0

是的,我看到了,但是不清楚默認順序是否也是提交者時間戳。坦率地說,我正在努力考慮'git rev-list'將根提交放在輸出中間的情況,因爲「默認情況下,提交按反向時間順序顯示」。 – Flimm

相關問題