git merge-base
共通の祖先を調べる
git describe
固有の識別子を生成する (バージョン、コミット数、ハッシュ、ファイル名)
git name-rev
フレンドリー名を返す ( HEAD
やタグからの相対的な名前 )
参考:
What does git name-rev do? – Stack Overflow
git rev-parse
コミットを特定してハッシュを返す
git rev-list
指定したコミットの祖先コミットをリストする。
参考:
How do I get the Git commit count? – Stack Overflow
git ls-files
ワーキングツリーのファイル名をリストする
git ls-tree
指定したコミットのファイルをリストする
ファイルの変更がいつ加えられたかを調べる
$ git blame file -w -L 10,15
-w
:空白の違いを無視する
-L
:行の範囲を指定する
コミットがどのバージョンに含まれているかを調べる
$ git name-rev 3a9442f0d3 3a9442f0d3 tags/v5.2.2~3
v5.2.2
の3つ前のコミットとわかる。(該当のコミットは v5.2.2
に含まれている。)
参考:
git でとあるコミットがどのバージョンで入ったかを確認する方法 | rochefort’s blog
master からの相対コミット名を調べる
$ git name-rev --refs master 8e4ab75aa2 8e4ab75aa2 master~120
参考:
Git でコミットの親子関係を master からの相対距離で調べる方法 | @kyanny’s blog
どのバージョンから分岐したコミットかを調べる
$ git describe 3a9442f0d3 v5.2.2.rc1-1-g3a9442f0d3
v5.2.2.rc1
から1コミット先とわかる。
コミット数を数える
参考:
Meaning of Github Ahead/Behind Metrics – Stack Overflow
Git count commits between remote refs – Stack Overflow
git commit count without pulling the branch – Stack Overflow