- 別の質問に対するこの答えを考えると、
- git-logとgit-whatchangedの両方のマニュアルページがgit-rev-listからプルすると言っていることを考えると...
...では、2つのコマンドの違いは何ですか?なぜそれらの両方をわざわざ持っているのですか?
...では、2つのコマンドの違いは何ですか?なぜそれらの両方をわざわざ持っているのですか?
コミット52f425e1(2013年8月30日)は次のように述べています。
新規ユーザーに
log
代わりに''を使用するように促します。最近では、これらのコマンドは統合されており、デフォルトが異なります。'
git log
'は、ログメッセージを表示することのみを許可し、2005年6月上旬に追加されたときはdiffを表示できませんでした。コマンドがdiffオプションを使用することを学習したのは、2006年4月上旬のみでした。
このため、パワーユーザーはwhatchanged
2005年5月中旬からすでに存在しdiffオプションをサポートしている''を使用する傾向がありました。
これが、新しいバージョンのマニュアルページのgit whatchanged
内容です。
新規ユーザーは代わりに使用することをお勧めします
git log
。whatchanged
コマンドは基本的に同じですが、git log
デフォルトではraw形式のdiff出力を表示し、マージをスキップします。コマンドは主に歴史的な理由で保持されます。Linuxカーネルメーリングリストを読んで発明されたずっと前にGitを学んだ多くの人々の指は、
git log
それを入力するように訓練されています。
torekの コメントとして、git whatchanged
同等のものは次のようになります。
git log --raw --no-merges
(それはこの質問を回避するでしょう)
最も単純な形式では、「git log」は各コミット(sha、author、date、message)を示し、「gitwhatchanged」はコミットと変更されたファイルを示します。例えば:
$ git log
commit db9f525674443314a9822a6bd6c3acce49c8f8d6
Author: ...
Date: Wed Apr 4 22:55:33 2012 -0700
Add more
commit eed0b7aa3cad5d985b5f1d52f3c0605339c119a1
Author: ...
Date: Tue Apr 3 20:36:04 2012 -0700
del bing/one.c
しかし、何が変わったのか:
$ git whatchanged
commit db9f525674443314a9822a6bd6c3acce49c8f8d6
Author: ...
Date: Wed Apr 4 22:55:33 2012 -0700
Add more
:100644 100644 f2e4113... d415016... M bar.c
commit eed0b7aa3cad5d985b5f1d52f3c0605339c119a1
Author: ...
Date: Tue Apr 3 20:36:04 2012 -0700
del bing/one.c
:100644 000000 e69de29... 0000000... D bing/one.c
各コマンドの出力を変更するためのオプションはたくさんあります。たとえば、「git whatchanged -p」は、diff/patch形式の変更を示します。
私は完全には同意しません。変更されたファイルをとマージするのを見ることができますlog
か?
この機能は見つかりませんでした。ファイルがブランチでマージされた時期を知るのに非常に役立ちます。例:
file c.c
にbranch1
コミット日が2012年1月1日からあり、にマージを実行しbranch2
、後でそのコミットが導入された日をフォローしたい場合はbranch2
、git log
役に立ちますか?マージがある場合は、それらを検索できますgit whatchanged -m sha1