1. ホーム
  2. ギット

[解決済み】Gitブランチのコミット数をカウントする

2022-04-03 06:59:47

質問

この回答はすでに見つかりました。 git のブランチでのコミット数 が、これはブランチが master から作成されたと仮定しています。

ブランチに沿ったコミット数を数えるにはどうすればよいのでしょうか? がない場合 その仮定に依存するのですか?

SVNではこれは些細なことですが、なぜかgitでは本当に難しいことなのです。

どのように解決するのですか?

現在いるブランチのコミットをカウントするには。

git rev-list --count HEAD

ブランチの場合

git rev-list --count <branch-name>

あるブランチでの、そのブランチを作成した以降のコミットを数えたい場合

git rev-list --count HEAD ^<branch-name>

これは、branch-name にないすべてのコミットも同様に数えます。

使用例

git checkout master
git checkout -b test
<We do 3 commits>
git rev-list --count HEAD ^master

結果:3

というブランチに由来する場合 develop :

git checkout develop
git checkout -b test
<We do 3 commits>
git rev-list --count HEAD ^develop

結果:3

マージを無視する

早送りせずに別のブランチを現在のブランチにマージして、上記のような操作をした場合、マージもカウントされます。これは、gitにとってマージはコミットであるためです。

これらのコミットを数えたくない場合は、以下のようにします。 --no-merges :

git rev-list --no-merges --count HEAD ^develop