1

perforce には、ファイルのすべてのリビジョンを出力する非常に便利なコマンドがあり、ファイルの各行にどのバージョンが含まれているかを示す注釈が付けられます。たとえば、ファイル foo を作成してチェックインし、その後 2 つの変更をファイルにチェックインするとします。foo の 3 つのバージョンを次に示します。

aaa            aaa           aaa
bbb            bbb           bbb
ccc            ccc           ccc
               ddd           ddd
               eee           fff
               fff

p4 annotate -a が出力するものは次のとおりです。

1-3: aaa
1-3: bbb
1-3: ccc
2-3: ddd
2-2: eee
2-3: fff

各行がどのバージョンに含まれているかを示す注釈とともに、foo の全履歴が表示されます。

AFAICT、 git Blame は、各行を含む最後のバージョンのみを提供します。つるはしを使用した git log は、パターンに一致する行のみを出力し、ファイル自体の行ではなくコミット メッセージを提供します。

git で上記の perforce コマンドと同様のことを行う方法はありますか?

前もって感謝します、

グレッグ

4

3 に答える 3

1

Git には直接同等のものはありません。Git には直線的な履歴1-3がないため、次のようなものは意味がありません。

于 2012-01-10T23:04:54.253 に答える
0

git annotateファイルごとに詳細な注釈を出力できるので、使い方はどうですか?

于 2012-06-20T07:39:27.647 に答える
0

そのために使用できるgit blameと思います-各行のソースコミットが表示されます。

これはおそらくあなたが望むものではありませんが、正しい方向への一歩です。その出力をからの出力と組み合わせて、git log必要な結果を構築できます。

于 2012-01-10T23:16:45.717 に答える