Qiita初投稿です。
(至らない点があると思いますがご了承ください)
gitはいろいろなコマンドがありますが、コミット履歴を見たい場合は、git logコマンドを使います。
今のコミット状態を見ることができるので、開発状況を確認したり、リリースの準備にあたりチェックしたりと、開発チームをマネジメントする側としては便利なコマンドです。
コミット履歴を一覧で見る
普通に
git log
と打つと、コミット毎に詳細内容が表示されます。
ただ、詳細内容はいいから、ざっとリストで見たい場合もあると思います。
例えば、
- コミットログを一覧で見たい
- コミットした日付を出したい
- マージリクエストは出したくない
- コミット者を出したい
- コミットのハッシュを出したい
というような場合、以下のコマンドを流すと
git log --date=short --no-merges --pretty=format:"%cd %s %h (@%cn) "
↓こんな感じで出力されます
2015-12-02 Fix 2f6c43f (@tanto1)
2015-12-02 Fix xxxxx validation about check quantity 2c8a1c6 (@tanto1)
2015-11-30 Fix xxxxx spec b855e37 (@tanto2)
2015-11-30 Add xxxxx by xxxx b2b7e7e (@tanto2)
2015-11-26 ●●処理で、○○日時が今月だった場合は△△にしない e0a39d3 (@tanto3)
2015-11-26 Fix xxxxx calculation d976968 (@tanto1)
2015-11-26 fixed b9e46c2 (@tanto3)
2015-11-25 Fix create xxxxx 6837d88 (@tanto1)
2015-11-25 Change private method to public method 02c63c4 (@tanto1)
2015-11-25 ●●の場合、xxxxは作成しない 2fc54ca (@tanto3)
・・・
もちろん、gitlabやgithubなどのWEB画面からコミット履歴は一覧で見れるのですが、気軽にさくっと見れるのが、コマンドベースのいいところです。
また、オプションのつけ方によって、自分の見やすいようにアレンジすることもできます。
--date=short : 日付をYYYY-MM-DDで表示
--no-merges : マージリクエストを除く
--pretty=format : 表示フォーマットを指定できる(%cd:日付、%s:件名、%h:ハッシュ(短縮版)、%cn:コミットユーザ)
-n : 表示件数を指定。10件なら -n 10 と指定。
他にもいろいろあります。
--graph
でコミットの関係性を表示できたり、色を付けたりもできるのですが、まだそこまで使いこなせてません。。
ブランチやタグ間でのコミットの差異を一覧で見るには
「masterブランチと●●ブランチのコミットの差異は?」
「前回リリース時のタグと今回リリース予定のタグ間で、コミットの差異はどうなってる?」
っていうときがあります。
新旧のブランチがあって、新がどれだけ進んでいるかを見たい場合、後ろにブランチ名を旧..新で並べます。(ブランチはタグでもOK)
git log --pretty=format:"%cd %h %cn %s” {旧ブランチ}..{新ブランチ}
単純に2つのブランチ間の差異を見る場合は点3つです。
git log --pretty=format:"%cd %h %cn %s” {ブランチ1}...{ブランチ2}
あと、以下のようにブランチを指定すれば、ローカルとリモートとの差異コミットを見ることができます。
-
ローカルが進んでいるコミット
git log --pretty=format:"%cd %h %cn %s" origin/master..master
-
リモートが進んでいるコミット
git log --pretty=format:"%cd %h %cn %s" master..origin/master
git logには他にも便利なオプションがたくさんありますので、引き続き模索していきたいと思ってます。