gitの古いファイルとの比較
古いファイルとの比較はgit diffコマンドを利用する
以前コミットされたものと比較したい場合、コミットIDを指定してバージョン間の比較ができる 時間を指定して比較
@{2 days ago}のような表記で時間を指定できる
例 (Examples)
$ Compare file xxxx with the one from 2 days ago
$ xxxxというファイルを2日前のものと比較する
$ 2日前のxxxxというファイルを現在のものと比較する
% git diff HEAD '@{2 days ago}' xxxx
? git: Compare (#{files}) with the one from (#{numbers}) minutes ago
? git: 「#{gitfiles}」ファイルを#{numbers}分前の(もの|バージョン)と#{compare}
? git: 「#{gitfiles}」ファイルが#{numbers}分前から(変化した|変わった)ところを#{display}
% git diff HEAD '@{#{$2} minutes ago}' #{$1} ? git: Compare 「#{gitfiles}」 with the one from #{numbers} versions before % git diff HEAD '@{#{$1} minutes ago}' #{$2} ? git: Compare (#{files}) with the one from (#{numbers}) days ago
% git diff HEAD '@{#{$1} days ago}' #{$2} ? git: 現在の「#{gitfiles}」ファイルを#{numbers}日前のものを#{compare}
% git diff HEAD '@{#{$2} days ago}' #{$1} 昔のバージョンとの比較
内容が変化したもののリストはrev-listで取得できる
コミットが古くても内容が変わってないことはある
code:sample.sh
$ git rev-list HEAD -- file1.txt
2630b29f9d687c6ff94e4ccee77efd9720e3fa7a
084b9e1d603b20967df24c126f4446cb30984346
73461054520e49b5f20266a27f4927d909eb9e3c
$
git log file1.txt で出るのと同じだがIDだけリストされる
2行目のコミットIDがふたつ前のバージョン
普通はgit logでリストされたコミットIDを指定してgit diffするのかもしれない git --patch -1 という方法もあるらしい
patchは微妙にdiffじゃないかもしれないけど
? git: (1つ|ひとつ)前のバージョンの#{gitfiles}と#{compare}
? git: (1つ|ひとつ)前のバージョンの#{gitfiles}からの変更点
? git: 最新の#{gitfiles}の#{change}個所は?
? git: (2つ|ふたつ)前のバージョンの#{gitfiles}と#{compare}
? git: (2つ|ふたつ)前のバージョンの#{gitfiles}からの変更点を#{display}