2012-10-24 14 views
7

Bir dalda değiştirilen tüm dosyaların listesini nasıl alabilirim? Bir git-diff yapamıyorum, çünkü dal zaten bir master ile birleştirildi.Git Bir dalda değiştirilen tüm dosyaların bir listesini alma

Bir şubedeki tüm işlemleri listelemenin ve dosya yollarının çoğaltmaları olmadan ayıklanmasının bir yoluna ihtiyacım var. Gerçekten takdir edilecektir önce kimse böyle bir şey yapmış ise

,

sayesinde bir sürü! şube birleştirme işaret, bu işleri

cevap

1

taahhüt:

git diff branch_name^..master --name-only 
3

biz BranchA wich usta itibaren kollara gibi şubenize düşünüyorsanız, bunu yapabilirsiniz:

git diff --name-status `git merge-base BranchA master`..BranchA 

Bu durum, durumla önceden ayrılmış daldaki değiştirilmiş dosyaların listesini verecektir (değiştirilmek üzere M, eklenmek üzere A, silinmek üzere D).

2

Bir git log yapın ve farkları öğrenmek istediğinizi anlamaya çalışın. İstediğiniz taahhüdün, aaaaaa olduğunu belirlediğinizi varsayalım. Sonra çalıştırın:

git diff aaaaaa --stat 
0

Aynı problemle karşılaştım ve @Michael Burtin'in çözümü çoğunlukla işe yaradı. Ancak, bunu herhangi bir dalda çalışacak bir betiğe eklemek istedim, bu yüzden şube adını içeremez. Daha sonra, şimdiki şube ile taahhüt diffs usta ve mevcut şube hem dolap atası bulur

git diff --name-only $(git merge-base master HEAD) 

: Bu ben ile geldi budur.