git-rev-list は、返されるコミットをどのように順序付けますか?
私は主に、開発の並行ブランチで行われ、その後メイン ブランチにマージされるコミットについて言及しています。コミットは日付順に並べられているようには見えませんが、コミットは過去または将来のさまざまな時点から選択できるため、これは理にかなっています。
たとえば、ここにいくつかの歴史がありgit-log
ます...
* Sat, 25 Aug 2012 11:37:23 -0700 8238401
|\
| * Thu, 23 Aug 2012 12:29:09 -0700 c9de861
* | Fri, 24 Aug 2012 16:29:01 -0700 b7e8827
|\ \
| * | Mon, 14 May 2012 20:46:30 +0200 0a1db74
| * | Mon, 14 May 2012 17:54:25 +0200 e03e71d
| * | Fri, 13 Jul 2012 12:01:11 +0200 bffa852
* | | Fri, 24 Aug 2012 15:45:13 -0700 09fad50
|\ \ \
| * | | Fri, 24 Aug 2012 12:19:22 -0700 97a17e4
| * | | Thu, 9 Aug 2012 19:43:25 -0700 5f4a61a
| * | | Fri, 3 Aug 2012 14:28:07 -0700 0c8858d
| * | | Thu, 2 Aug 2012 13:00:58 -0700 aa13bf0
| * | | Wed, 18 Jul 2012 14:30:15 -0700 decff7b
* | | | Fri, 24 Aug 2012 15:43:19 -0700 091c742
これは、rev-list による同じ履歴の出力です。
$ git rev-list HEAD --max-count=13
8238401ccb9f7018c927866896bea583d351ad2a # 1 root
c9de8611d6a3e77757a714cdf6acf46178b1d622 # 2 descends into the second parent
b7e8827b8bbca0c69d85be34cc4a88888c1152f2 # 3 first parent of root
09fad5069636fb2e8cacf15817834e3d32ff6b8e # 4 descends into the first parent
091c742af985cc78711727ca06a24ae42b376fae
7fbca880aa5c011257ef734d0b5bfd5545dbaf6b
07c06f7a83640e11d6be13a87f02e986ecc6e4b3
1168410426293aef8ce33becb277ff225595e183
97a17e4e9fa5cafa531ff79cb88a9ee5c224a613
0a1db746fbcaf09681e446250f75581cc8f8fd05
e03e71da56608f60770eb80767dcd94e698cdcae
5f4a61aea834fe25ce1596bc9c0e0b5e563aa98b
0c8858de8c82bae3fd88513724689a07d231da7e
rev-list コマンドは、最初の親をリストするか、n 番目の親のコミット グラフに降りるかをどのように決定しますか? たとえば、上記の (1) を見た後、rev-list は 2 番目の親 (2) に降りてきます。ただし、(3) を見た後、最初の親 (4) に降りてきます。この動作は明確に定義されていますか?