回答:
「最終版」の意味がよくわかりません。
以前のコミットはHEAD ^でアクセスできるため、次のようなものを探していると思います。
git diff HEAD^ HEAD
Git 1.8.5以降、はの@
エイリアスであるためHEAD
、以下を使用できます。
git diff @~..@
以下も機能します:
git show
ヘッドとコミットの違いを知りたい場合は、以下を使用できます。
git diff commit_id HEAD
そして、これはあなたのビジュアル差分ツールを起動します(設定されている場合):
git difftool HEAD^ HEAD
HEADとの比較はデフォルトなので、省略できます(Orientで指摘されています)。
git diff @^
git diff HEAD^
git diff commit_id
~
文字の代わりに文字を使用する必要があることをコメントで説明しています^
。@
エイリアスですHEAD
。そして、1つのコミットだけを戻す場合も同じなので~
、タイプするの^
はgit diff @~..@
はるかに簡単です。
git show
は@~..@
デフォルトで表示されるため、さらに簡単です。
git show
コミットメッセージを出力するだけで、少なくともGit 2.5.4(Apple Git-61)では特定の変更の差分を出力しないため、実際にはOPの質問に対する答えにはなりません。
git show
あればということでHEAD
あるマージはマージが変更自体を持たないかもしれない自分自身をコミットするので、あなたが期待するもの得ることはありませんコミット。git diff HEAD^ HEAD
バージョン間の実際の変更が表示されます
「現在のバージョン」が作業ディレクトリ(コミットされていない変更)であり、「最後のバージョン」がHEAD
(現在のブランチの最後にコミットされた変更)であると仮定して、単に
git diff HEAD
次のクレジットはユーザーに付与されますCerran
。
また、-a
コミット時にステージング領域を常にスキップする場合は、単にを使用できますgit diff
。
概要
git diff
ステージングされていない変更を示します。git diff --cached
段階的な変更を示します。git diff HEAD
すべての変更を表示します(段階的および非段階的)。出典:git-diff(1)マニュアルページ– Cerran
-a
コミット時にステージング領域を常にスキップする場合は、単にを使用できますgit diff
。<1> git diff
は、段階的でない変更を示しています。<2> git diff --cached
は段階的な変更を示しています。<3> git diff HEAD
はすべての変更を示します(ステージングされたものとステージングされていないものの両方)。出典:git-diff(1)マニュアルページ
git show HEAD~1
最後の1つのコミットを表示するために使用しgit show HEAD~2
、古いコミットの場合はなどを使用します。で1つのファイルのみを表示しますgit show HEAD~2 my_file
。
最後の1回のコミットと最後のコミットの差分(さらに、存在する場合は現在の状態):
git diff HEAD~
または(タイプしやすい)
git diff @~
@
は、HEAD
現在のブランチのシノニムであり、~
「言及されたリビジョンの親を与える」ことを意味します。
git diff HEAD^
(同等のHEAD~
形式ではなく)私はかなり好きです。私のような "古いgit"の方が覚えやすい
~
と@
は何を意味するかを説明することで、回答を改善できます。
diff HEAD^ HEAD
べきですgit diff @^!
。git-scm.com/docs/gitrevisions forr1^!
cached
追加したがまだコミットしていない場合は、フラグを使用してください。
git diff --cached --color
トップコミットがHEADによってポイントされている場合、次のようなことができます。
commit1 -> HEAD
commit2 -> HEAD~1
commit3 -> HEAD~2
最初と2番目のコミットの違い:
git diff HEAD~1 HEAD
最初と3番目のコミットの違い:
git diff HEAD~2 HEAD
2番目と3番目のコミットの違い:
git diff HEAD~2 HEAD~1
等々...
これはタグでも機能します(すべての変更を確認する必要がある場合は、以下の「uniq」およびその他の部分を削除してください)。
git diff v1.58 HEAD
以下は同じで、モノリシックリポジトリ内のマイクロサービスの継続的インテグレーション(CI)に役立ちます。
git diff v1.58 HEAD --name-only | sort -u | awk 'BEGIN {FS="/"} {print $1}' | uniq
<Folder Name>
(クレジット-https://dzone.com/articles/build-test-and-deploy-apps-independently-from-a-mo)