2015-11-18 13 views
5

Bu question benzeri bir durum var.Günlük kaydındaki her işlemin bir yama oluştur

git log --cherry-pick --oneline --no-merges --left-only branchB...branchA 

Şimdi, yukarıdaki komuta görüntülenen kaydedilmesini her biri ile bir yama dosyası oluşturmak istiyorum: Şu anda bu komut beni mükemmel tüm kaydedilmesini ihtiyacım gösterir. Nasıl yapabilirim?

cevap

2

Bunu deneyin. Umarım çok geç değildir.

NUM=1 
for commit in $(git log --cherry-pick --no-merges --left-only branchB...branchA --reverse --pretty=tformat:"%H") 
do 
    git format-patch -1 $commit --start-number $NUM 
    ((NUM++)) 
done 

--reverse kuvvetler git-log ters sırayla sonuçları itmek - en erken birinden en yeni birine, "%H" sadece sha1 özetini taahhüt içeren bir biçimdir. Karmalar, yama oluşturmak için tek bir (-1) taahhüt olarak sağlanıyor. Artımlı değerle --start-number, yama dosyalarının doğru sırada oluşturulmasına neden olur.

+0

Başka bir depoya taşınırken ve başarıyla oluşturulmuş dosyalarda aynı sorunla karşılaştım. Maalesef onları uygulayamadım. – mazharenko