👌

Gitで指定ファイルだけを過去コミットと比較する

に公開

概要

管理対象のファイルや修正内容が増えてくると、過去作業時にどんな修正をファイルに加えたか確かめたくなることがあります。今回はそんな時にCUIのGitコマンドで修正内容を確かめる方法を記載します。

コマンド例

git diff コミットID -- ファイルパス

詳細

  1. git logで過去作業のコミットを探す。
    (今回はlog2.txtに加えた変更を知りたいので、その前のコミットと今の差分を見ることにします)

  2. git diffコマンドを打つ。

git diff 9d7caf2a77c78e5db1e09c9794206859d6082536 -- log2.txt


おわり
※コマンドに--はなくても動作しますが、公式git help diffの記載からは--ありで記載されています。--は明示的にファイルパスを指定する目的で記載されており、これがないとコミットIDとファイルパスが一致して混合することがあり得ます。

git help diffの一部
SYNOPSIS
git diff [options] [<commit>] [--] [<path>…​]
git diff [options] <commit> <commit> [--] [<path>…​]

参考リンク
https://tmytokai.github.io/open-ed/activity/git/text02/page06.html
https://www.reddit.com/r/git/comments/7rtols/what_does_the_mean_in_git_checkout_file/?tl=ja

Discussion