の使用方法について多くの質問がありましたが、git blame
よくわかりません。
私が見BlameGitHubのインターフェイス上のファイルの最上部にあるボタンを。それをクリックすると、左側のバーにユーザー名の差分が表示されます。それは何を示していますか?
git blame
GitHubとは別に、なぜ実際に使用されているのですか?
git objectively-determine-contributer
同じリングはありません。
git who
の使用方法について多くの質問がありましたが、git blame
よくわかりません。
私が見BlameGitHubのインターフェイス上のファイルの最上部にあるボタンを。それをクリックすると、左側のバーにユーザー名の差分が表示されます。それは何を示していますか?
git blame
GitHubとは別に、なぜ実際に使用されているのですか?
git objectively-determine-contributer
同じリングはありません。
git who
回答:
git-blameから:
指定されたファイルの各行に、その行を最後に変更したリビジョンの情報で注釈を付けます。必要に応じて、特定のリビジョンから注釈を開始します。
-Lを1回以上指定すると、注釈は要求された行に制限されます。
例:
johndoe@server.com:~# git blame .htaccess
...
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300 4) allow from all
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300 5)
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300 6) <IfModule mod_rewrite.c>
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300 7) RewriteEngine On
...
git blame
は、時系列で行ごとの変更履歴を表示しないことに注意してください。文書の最後のコミットまでの行を変更した最後の人物が誰であるかを示すだけHEAD
です。
つまり、ドキュメント行の完全な履歴/ログを表示するには、でgit blame path/to/file
コミットごとにを実行する必要がありますgit log
。
コマンドは、それ自体を非常によく説明しています。あなたができるので、それは、特定のラインを書いたり、プロジェクトを台無しにしている同僚把握することだせいそれらを:)
git blame
、に似た永続的な効果があるかのように聞こえgit commit
ます。実際には、だれがどのような変更を行ったかを通知するだけです。それと、「非難」という言葉が持つ否定的な意味合いは、コマンドを遠ざけるべきもののように聞こえさせ、明確化を求めるこのような質問につながります。
git praise
です。
blameコマンドはGitの機能であり、ファイルに誰が変更を加えたかを判断するのに役立ちます。
その否定的な響きの名前にもかかわらず、git blameは実際にはかなり無害です。その主な機能は、ファイル内のどの行を誰が変更したか、およびその理由を指摘することです。これは、コードの変更を識別するのに役立つツールです。
基本的にgit-blame
は、ファイルの各行を最後に変更したリビジョンと作成者を示すために使用されます。これは、ファイルの開発履歴を確認するようなものです。
git blame
コマンドは、行の最終更新日リビジョンからの情報で行を注釈を付け、そして... Gitの2.22(Q2 2019年)で、そうだろう速いので、「周りのパフォーマンスの修正で、git blame
特に線形の歴史(で、」最適化すべき基準)。
David Kastrup()によるcommit f892014(2019年4月2日)を参照してください。
(合併によりJunio C浜野- -でコミット4d8c4da、2019年4月25日)fedelibre
gitster
blame.c
:元のブロブを熱心に落とさないでください親blobが非難するためにキューに入れられたチャンクをすでに持っている場合、1 blameステップの終わりにblobをドロップすると、すぐに再ロードされ、線形履歴を処理するときにI / Oとアンパックの量が2倍になります。
そのような親blobをメモリに保持することは、主に古いブランチからのマージを処理するときに追加のメモリプレッシャーを招く合理的な最適化のようです。
このgit blame
コマンドを使用して、ファイルの内容を1行ずつ調べ、各行が最後に変更された日時と変更の作成者を確認します。
コードにバグがあった場合は、それを使用して誰がそれを起こしたかを特定してから、彼のせいにすることができます。Gitのせいは、せいにする(d)。
1行のコードの履歴を知る必要がある場合はgit log -S"code here"
、git blameよりも簡単なを使用してください。
git praise
代わりに使用できます:) github.com/ansman/git-praise