2011-01-24 15 views
2

Gitコミットではないいくつかの変更点の概要を知りたいと思います。ここでの例である:いくつかのGitコミットの変更点のまとめ

  • 1をコミット:beta.html
  • で元に戻し変化C 3コミット:置き換えが追加され、AとBは2をコミット
  • をbeta.htmlするCをalpha.htmlと変更する変更D変化のBおよび追加変更のE

は、私はこのような要約を取得したい:

  • ファイルalpha.htmlている変化のA、D及びE(Bに言及する必要はありません)
  • ファイルbeta.htmlは

ことが可能ですを変更されませんでしたか? (GithubのCompare viewと本当に似ています)

ありがとう!

+1

githubの一連の連続コミットの比較ビューはありませんか?あなたが何を求めているのか、連続したコミットではないのに、それほど似ていません。 – Cascabel

答えて

3

私はgit diffと似ています。

git diff commit1 commit3 

これらの2つのコミットの間で変更されたファイル名と行が表示されます。 コマンドラインからgitを使用している場合は、色を有効にすることをお勧めします。 diff出力を読みやすくするでしょう:

git config --global color.diff auto 
git config --global color.status auto 
git config --global color.branch auto 

また、diff出力を視覚的に視覚化できるプログラムもあります。 (同様に例えば、Linuxでkompare

+0

git diffに--statオプションを追加したいと思います。 – siride

+0

これは2つのコミットに対してのみ有効です。変更の概要を提供するために、3,5または10のコミットで使用可能なものが必要です。 – efedorenko

+0

@efedorenko:これは2つの任意のコミットで動作します。つまり、一連の連続したコミットで動作します。あなたが求めているのは少し違っています。 – Cascabel

0

さて、あなたはこのような何か行うことができます。

for c in $commits; do 
    echo $c 
    git show --name-status $c 
    echo 
done 

を、あなたがしたい出力フォーマットを取得するまでのことができ、その周りにスクリプトそれは愛好家や愛好家にします。 $commits$(git rev-list --author=Me master..topic)のように置き換えて、コミットリストにダンプします。すべての出力をスラップして、ファイルごとのリストに再構成します(awkはそれでうまくいくでしょう)。そういうわけで。

関連する問題