gitでgit logとシンプルにコマンドを打つと、
どのファイルがコミットされたのかわからない。。。
監査上どのファイルが変更されたかの履歴を一覧で出す必要があったので、
git logコマンドについて調べてみました。
必要な項目は以下の項目で、当月の更新・追加・削除があった時のものだけでOKという条件でした。
項目:コミットした日時、コミットした人、コミットの際のコメント、コミット対象のファイル名
まず、参考にさせてもらったのがこのサイト、
けっこう細かく「git log コマンド」について書かれていた。
しかも日本語☆
自分の好きなフォーマットにするには–prettyオプションが必要!
–pretty=format:”ここに何を出力するかオプションを記述”
オプションの一覧は今感じ♪
オプション | 出力される内容 |
%H | コミットのハッシュ |
%h | コミットのハッシュ (短縮版) |
%T | ツリーのハッシュ |
%t | ツリーのハッシュ (短縮版) |
%P | 親のハッシュ |
%p | 親のハッシュ (短縮版) |
%an | Author の名前 |
%ae | Author のメールアドレス |
%ad | Author の日付 (-date= オプションに従った形式) |
%ar | Author の相対日付 |
%cn | Committer の名前 |
%ce | Committer のメールアドレス |
%cd | Committer の日付 |
%cr | Committer の相対日付 |
%s | 件名 |
例) –pretty=format:”%H %ad %an %s”
これで、
ハッシュ値 Author の日時 Author の名前 件名
を出力することができました♪
次に日付の指定です。
オプション | 説明 |
-(n) | 直近の n 件のコミットのみを表示する |
–since –after |
指定した日付以降のコミットのみに制限する |
–until –before |
指定した日付以前のコミットのみに制限する |
–author | エントリが指定した文字列にマッチするコミットのみを表示する |
–committer | エントリが指定した文字列にマッチするコミットのみを表示する |
今月のもののみを指定するので、–sinceと–untilオプションを使って日付指定しました。
–since=2012-10-01 –until=2012-10-31
これで、今月1ヶ月分のログが取得できます。
あとは、ファイル名の表示です。
オプション | 説明 |
-p | 各コミットのパッチを表示する |
–stat | 各コミットで変更されたファイルの統計情報を表示する |
–shortstat –stat |
コマンドのうち、変更/追加/削除 の行だけを表示する |
–name-only | コミット情報の後に変更されたファイルの一覧を表示する |
–name-status | 変更されたファイルと 追加/修正/削除 情報を表示する |
–abbrev-commit | SHA-1 チェックサムの全体 (40文字) ではなく最初の数文字のみを表示する |
–relative-date | 完全な日付フォーマットではなく、相対フォーマット (“2 weeks ago” など) で日付を表示する |
–graph | ブランチやマージの歴史を、ログ出力とともにアスキーグラフで表示する |
–pretty | コミットを別のフォーマットで表示する。オプションとして oneline, short, full, fuller そして format (独自フォーマットを設定する) を指定可能 |
今回は、–name-statusオプションを使いました。
これで更新されたもののフィアル名を一覧表示してくれます。
最終的なコマンドは、以下のようになりました。
git log –pretty=format:”%H %ad %an %s” –since=2012-10-01 –until=2012-10-30 –name-status
出力結果はこんな感じです♪
ハッシュ値 Tue Oct 30 19:26:42 2012 +0900 8518 テ
M test.txtハッシュ値 Fri Oct 26 18:33:21 2012 +0900 8518 2nd
M test.txtハッシュ値Fri Oct 26 05:22:42 2012 +0900 8518 1st
A test.txt
![]() 【送料無料】Gitによるバージョン管理 [ 岩松信洋 ] |
[…] gitのログをシンプルにする | 忘れないようにメモを […]