Git コミットの変更を表示する

Ankit Raj Goyal 2023年1月30日
  1. Git でコミットの変更を表示するには git diff <commit_ref>^! を使用する
  2. git diff <commit_ref>~ <commit_ref> を使用して、Git のコミットの変更を表示する
  3. git diff <commit_ref>^ <commit_ref> を使用して、Git のコミットの変更を表示する
  4. Git の特定のファイル/ファイルタイプでファイルスコープオプションを使用してのみコミットの変更を表示する
  5. Git でクイック代替方法-オプション付きの git show コマンドを使用してのコミットの変更を表示する
  6. Git でエイリアスと git show を使用してのコミットの変更をすばやく表示する
  7. Git で git diff HEAD^ HEAD を使用して最新のコミットの変更を表示する
  8. Git に戻っていくつかのコミットで変更を表示する
Git コミットの変更を表示する

ワークフローを高速化するには、Git でコミットの変更をすばやく表示する必要があります。git diffgit show をさまざまなオプションとともに使用して、必要なコミットの変更を正確に表示できるようにします。

gitrevisions オプションを切り替えて、コミットの変更を Git に表示するための一般的なユースケースのショートカットを見つけます。

Git でコミットの変更を表示するには git diff <commit_ref>^! を使用する

これは、特定のコミットの変更をすばやく表示するための、きちんとした鮮明な方法です。gitrevisions <rev>^!を使用しますすべての検索機能を 1 行の短いコードにまとめるショートカット。

git diff <commit_ref>^!

<commit_ref>^!省略表記は、コミット <commit_ref> を指しますが、そのすべての祖先を除外します。

本質的に、これはコミット <commit_ref> のみを表示することを意味します。git diff コマンドは、このコミットによって行われた変更のみを表示します。

ref ショートハンドをコミット

git diff <commit_ref>~ <commit_ref> を使用して、Git のコミットの変更を表示する

gitrevisions の範囲 <commit_ref>~..<commit_ref> は、<commit_ref> からは到達できるが、その祖先からは到達できないコミットを意味します。

つまり、<commit_ref> のみを意味し、その祖先は意味しません。

git diff では、git diff <commit_ref>~ <commit_ref> と同じで、<commit_ref> とその直接の親の間の変更を示します。

git diff <commit_ref>~ <commit_ref>

したがって、これは <commit_ref> コミットでのみ行われた変更を示しています。

tilda メソッド commit

git diff <commit_ref>^ <commit_ref> を使用して、Git のコミットの変更を表示する

<commit-ref>^は、コミットの最初の親を指します。

git diff <commit_ref>^ <commit_ref>

<commit_ref> とその最初の親の間の変更を示します。これは、コミット <commit_ref> でのみ行われた変更と同じです。

キャレットメソッド commit

Git の特定のファイル/ファイルタイプでファイルスコープオプションを使用してのみコミットの変更を表示する

上記のすべてのメソッドにファイルスコープオプションを渡して、特定のファイルまたはファイルタイプの変更のみを表示できます。

git diff <commit_ref>^! <file|file type>

ファイルスコープオプションのコミットの変更

Git でクイック代替方法-オプション付きの git show コマンドを使用してのコミットの変更を表示する

git show コマンドを巧妙なオプションとともに使用して、コミットによって生じた違いのみを表示できます。

ノート
git diff は、コミットの変更を表示するための専用コマンドであり、推奨される方法です。git show は、違いだけでなく、コミットの多くの詳細を表示することを目的としています。

ここでは簡単なショートカットとして使用します。

git show --color --pretty=format:%b <commot_ref>

これらのオプションを渡すと、git show はコミットの変更のみを表示します。

上級者向けのヒント:このメソッドは、ワークツリールートコミットまたはファーストコミットでも機能します。ルートコミットには祖先がないため、git diffルートコミットで失敗します。

違いのオプションを含む gitshow

git diff が root commit で失敗する

git diffRoot Commit で失敗することがわかりますが、git show は機能します。

Git でエイリアスと git show を使用してのコミットの変更をすばやく表示する

上記のように、コミットの違いのみを表示するには、git show に多くのオプションを渡す必要があります。

~/.gitconfig ファイルでその長いコマンドのエイリアスを設定することでショートカットを作成できます。

nano ~/.gitconfig

[aliases]
od = show --color --pretty=format:%b

gitconfig にエイリアスを追加します

エイリアス od または Only Difference を追加します。その後、ショートカットとして使用できます。

git od <commit_ref>

エイリアスを使用して違いを表示する

gitrevisions^~のように巧妙な方法で使用して、最近のコミットの変更を表示するためのクイックショートカットを作成できます。

Git で git diff HEAD^ HEAD を使用して最新のコミットの変更を表示する

HEAD は最新のコミットを指します。

git diff HEAD^ HEAD

HEAD または最新のコミットとその親の違いを示しています。

これは、変更(最新のコミット)のみを表示することを意味します。

最新のコミットショートカット

Git に戻っていくつかのコミットで変更を表示する

~``gitrevisions サフィックスを使用して、HEAD の n 番目の祖先に戻り、そのコミットの変更を表示できます。

git diff HEAD~2 HEAD~1

HEAD または最新のコミットの 2 番目の祖先と 1 番目の祖先の違いが表示されます。

したがって、1 番目の祖先のコミットまたは 2 番目に新しいコミットの変更が表示されます。

数回前のコミットの変更点

関連記事 - Git Commit