34

コードベースの「古い」状態と「新しい」状態の違いを要約しようとしています。

  • 「git log」を実行することもできますが、残念ながら、コミット メッセージが常に十分であるとは限りません。
  • 「git diff」を実行することもできますが、私が見ている違いの説明をいくつか見たいか、少なくとも後で保存するためにハッシュをコミットしたいと思います
  • 変更されたファイルに対して「git diff --stat」を実行してから「git annotate」を実行できましたが、特定のコミット以降の変更のみを表示するように注釈を付ける方法がわかりません。

理想的には、「git diff」の出力を取得したいと思います。ここで、すべての「+」および「-」行に、これらの変更を最後に導入したコミットに関する情報が注釈として付けられます。理想的には、git pretty 形式 (ハッシュ、作成者、日付など) です。

これはどのように達成できますか?

4

7 に答える 7

7

次のような小さなスクリプトを書くことができます

git blame before > before
git blame after > after
diff -u before after

:)

man 1 gitre:を参照してくださいGIT_EXTERNAL_DIFF

于 2012-11-06T14:50:09.610 に答える
4

次のことを依頼できますgit blame

  • 特定のコミットから注釈を付けるgit blame -c fe25b6d^ -- src/options.cpp
  • または特定の日付から注釈を付ける:
    git blame -c --since=3.weeks -- foo

注: 私git blame -cgit annotateを好みます:

このコマンドと の唯一の違いgit-blameは、わずかに異なる出力形式を使用することです。このコマンドは、既存のスクリプトをサポートするための下位互換性のためにのみ存在し、他の SCM システムから来た人々により馴染みのあるコマンド名を提供します。

于 2012-11-06T14:07:19.147 に答える
1

注釈付きの結果を取得する簡単な方法があるかどうかはわかりませんgit diff(「非難された差分」など)。

--full-diffオプション forを使用しgit log -pて、コミット メッセージ + diff を取得できます。

于 2012-11-06T14:12:21.173 に答える