git diff `git merge-base master branch`..branch
Birleştirme tabanıbranch ayrıldığı noktadır master.
Git diff bunun için özel bir sözdizimini destekler:
git diff master...branch
Yanları değiştirmemelisiniz çünkü o zaman diğer dalı alırsınız. Başka türlü değil, branchayrıldığından beri neyin değiştiğini bilmek istersiniz master.
Gevşeklikle ilgili:
..Ve ...sözdiziminin diğer Git araçlarındakiyle aynı semantiğe sahip olmadığını unutmayın . 'De belirtilen anlamdan farklıdır man gitrevisions.
Alıntı man git-diff:
git diff [--options] <commit> <commit> [--] [<path>…]
Bu, iki keyfi arasındaki değişiklikleri görüntülemek içindir <commit>.
git diff [--options] <commit>..<commit> [--] [<path>…]
Bu, önceki formla eşanlamlıdır. Bir <commit>tarafta atlanırsa, bunun HEADyerine kullanmakla aynı etkiye sahip olacaktır .
git diff [--options] <commit>...<commit> [--] [<path>…]
Bu form, <commit>her ikisinin ortak bir atasından başlayarak daldaki ve ikinciye kadar olan değişiklikleri görüntülemek içindir <commit>. " git diff A...B", " " ile eşdeğerdir git diff $(git-merge-base A B) B. Bunun yerine <commit>kullanmakla aynı etkiye sahip olan herhangi birini atlayabilirsiniz HEAD.
Egzotik bir şey yapıyorsanız, <commit>".." notasyonlarını kullanan son iki form hariç, yukarıdaki açıklamanın hepsinin herhangi biri olabileceğine dikkat edilmelidir <tree>.
Yazım yollarının daha eksiksiz bir listesi için <commit>, "REVİZYONLARIN BELİRTİLMESİ" bölümüne bakın gitrevisions[7]. Bununla birlikte, "fark", aralıklar değil iki uç noktanın karşılaştırılmasıyla ilgilidir ve aralık gösterimleri (" <commit>..<commit>" ve " <commit>...<commit>"), "ARALIK ARALIKLARI" bölümünde tanımlandığı gibi bir aralık anlamına gelmez gitrevisions[7].
git diff master..branch. Şubedeyseniz kısaltabilirsinizgit diff master...r1..r2Sözdizimi kısa^r1 r2vasıta "dan alçalır bu bana her şeyi göstermek hangir2ve erişilebilir değilr1".git help gitrevisionskullanabileceğiniz çeşitli sözdizimleri hakkında bilgi içerir.