私が質問を正しく理解していれば、最初に削除された行を最初に追加した人を探したいでしょうか?たとえば、this commitには、=head1 C<import>
という行が削除されています。誰が最初にその行を書きましたか?
--- a/lib/perl5i.pm
+++ b/lib/perl5i.pm
@@ -1118,27 +1118,29 @@ Example:
from CPAN or another repository. Your library paths are:
Indented list of paths, 1 per line...
-=head1 C<import>
-This subroutine is called automatically, see L<perlfunc/import>.
+=head1 Turning off features
...
コマンドはgit blame
です。これは、どの行が最後に変更されたかを表示します。この例では、git blame lib/perl5i.pm
は、ファイルの各行に最後に触れたユーザーを示します。
b755dda5 (Michael G. Schwern 2009-04-22 21:29:08 -0700 1) package perl5i;
b755dda5 (Michael G. Schwern 2009-04-22 21:29:08 -0700 2)
8baa7538 (Michael G. Schwern 2010-01-29 21:34:14 -0800 3) ######################################
a6231688 (Michael G. Schwern 2010-03-14 13:55:50 -0700 4) # The real code is in perl5i::2 #
8baa7538 (Michael G. Schwern 2010-01-29 21:34:14 -0800 5) # Please patch that #
8baa7538 (Michael G. Schwern 2010-01-29 21:34:14 -0800 6) ######################################
...
これは、コミット、作成者の名前、コミットが発生したときとその行です。
これは必ずしもその行の元の著者ではありません。単純な空白の変更を行うコミットさえ表示されます。これを避けるには、空白の変更を無視するように-w
を追加します。 git blame -w lib/perl5i.pm
。
しかし、それは現在のコミットです。特定のコミットの責任を問うことができます。この例では、4519fb29cef
が削除されています。 git blame -w lib/perl5i.pm 4519fb29cef
を実行した場合、その行はすでに削除されているので、その行為は責任を問わず表示されます。代わりに、前回のコミット時にgit blame
を実行します。 git blame -w lib/perl5i.pm 4519fb29cef^
。
...
4afdb783 (Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 2013-03-01 11:16:27 +0100 1121) =head1 C<import>
4afdb783 (Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 2013-03-01 11:16:27 +0100 1122)
4afdb783 (Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 2013-03-01 11:16:27 +0100 1123) This subroutine is called automatically, see L<perlfunc/import>.
...
は最後のその行に触れLars Dɪᴇᴄᴋᴏᴡ 迪拉斯
によって4afdb783
をコミットします。時には変更が些細なものになることがあるので、それが重要な変更であることを確認するためにgit log -p 4afdb783
を実行してください。そうでなければ、同じことをやり直してください。その前にコミットにgit blame
を実行してください。git blame -w 4afdb783^
。重要な変更が生じるまで続けます。
コミットで行を削除した人は、コミットした人と同じです。私はそれがあなたが求めているとは思わない。明確にできますか? – Schwern
特定のコミットを使用すると、リポジトリで削除または追加されたコードの行を知ることができます。削除されたコード行は、元々リポジトリに異なるコミットで追加された別の人物に属します。そのユーザーを探したい 十分明確であることを願っています。 –
私があなたを正しく理解していれば、もともと削除された行を誰が追加したのかを知りたいでしょうか? – Schwern