ローカルブランチに対していくつかのコミットを行いましたが、現在持っているものをブランチの開始状態と比較するための最良の方法がわかりません。ブランチへのコミットが6回あれば、git diff HEAD HEAD~6
のようなことができることはわかっていますが、コミットの数に依存しない何かを望んでいました。
編集:私はこれについて言及しませんでした:私が分岐したコミットのハッシュを取得するためにログを掘り下げる必要がないことを望んでいました。たとえば、80のコミットがある場合、これは楽しい作業ではありません。
また、私が分岐した元のブランチにはすでにいくつかの変更が加えられていると想定します。
git help diff
で説明されているトリプルドット構文を使用することをお勧めします。
git diff otherbranch...
これは次と同じです:
git diff otherbranch...HEAD
これは次と同じです:
git diff $(git merge-base otherbranch HEAD) HEAD
merge-base
コマンドは、「最良の」(最新の)共通の祖先を出力するため、上記のコマンドは、HEAD
がotherbranch
からHEAD
に共通する最新のコミットとの違いを示しています。
otherbranch
の代わりに@{u}
を使用して、アップストリームブランチから分岐してから行った変更を確認できることに注意してください。構文の詳細については、git help revisions
を参照してください。
git diff <SHA-1 of the commit from which you branched>..HEAD
git log
を実行すると、分岐点のSHA-1を取得できます。
まず、 分岐元のコミットを見つける する必要があります。それができたら、(yasouserが指摘したように)git diff <branch-point>..HEAD
を実行するだけです。