Birçok dalla bir git depom var, bunların bir kısmı zaten birleştirilmiş ve değil. Şube sayısı oldukça büyük olduğundan, hangi şubelerin henüz birleştirilmediğini nasıl bilebilirim? Yine tüm dalları yeniden bir ahtapot birleştirme yapmaktan kaçınırdım.git dallanmayan dalları bulma
cevap
bu deneyin:
git branch --merged master
Teneke (master
haline getirildi listeleri dallar) ne diyor. Ayrıca ile ters alabilmenin: Eğer master
belirtmezseniz
git branch --no-merged master
, mesela ..
git branch --merged
sonra o kadar (aktüel
HEAD
haline getirildi dalları gösterecektir
master
üzerindeyseniz, ilk komutla eşdeğerdir;
foo
üzerindeyseniz,
git branch --merged foo
eşdeğeridir). Bir şube zaten birleştirilmişse yeniden birleştirme
git branch -r --no-merged origin/master
olmaz:
Ayrıca -r
bayrağı ve yerel veya uzak olabilir karşı kontrol etmek için bir ref, belirterek memba dalları karşılaştırabilirsiniz birşeyler yap. Yani birleştirilmiş olan "yeniden birleştirme" dalları hakkında endişelenmenize gerek yok.
git branch --merged
birleştirilmemiş dalları görmek için birleşti şube veya
git branch --no-merged
görmek verebilir, sorunuzu cevaplamak için. Mevcut şubeniz ima edildi, ancak isterseniz diğer şubeleri belirtebilirsiniz.
git branch --no-merged integration
Henüz sizi integration
dalı içine birleştirilmez dalları gösterecektir.
Ayrıca usta birleştirilecek değildi uzak dalları göstermek için -r parametresini kullanabilirsiniz: Aşağıdaki komut geçerli şubesi önde olan tüm origin/*
şube bulacaksınız
git branch -r --merged master
git branch -r --no-merged
veya aynı anda hem yerel hem de yerel olarak görmek için –
#!/bin/bash
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo -e "Current branch: \e[94m$CURRENT_BRANCH\e[0m"
echo ''
git branch -a | grep remotes/origin/ | while read LINE
do
CMD="git diff --shortstat remotes/origin/${CURRENT_BRANCH}...${LINE}"
if $CMD | grep ' file' > /dev/null; then
echo -e "\e[93m$LINE\e[0m" | sed 's/remotes\/origin\///'
$CMD
echo ''
fi
done
- 1. Nasıl silindi Git dalları
- 2. Birleştirme Git Dalları
- 3. git kök dalları ... nasıl çalışırlar?
- 4. Genel olarak dosya için git dalları arayın
- 5. Git dalları arasındaki belirli bir klasördeki farklar
- 6. Git liste dalları bir dalı içine ancak başka
- 7. Can TeamCity tetikleyicisi yeni Git dalları/etiketleri için mi oluşturur?
- 8. yapılandır git kullanıcı adıyla her zaman önek dalları için
- 9. Ayrı özel #ifdef dalları
- 10. Xcode dalları değiştirirken daima donuyor
- 11. Git komutu
- 12. Git: Eksik bir geçmişle geniş bir şekilde birbirinden ayrılan karmaşık dalları nasıl birleştiririm?
- 13. NIB dosyaları ve Sürüm Denetimi: Dalları kullanma
- 14. Özellik dalları ile çalışırken Flyway nasıl kullanılır
- 15. git-svn branching
- 16. kod Git
- 17. git uzak kuru erik ben adam sayfasından
- 18. Git erişiminin en iyi yolu Git
- 19. "git cherry-pick" ile çelişen "git checkout" sekmesi tamamlandı
- 20. bulma bilgileri
- 21. Özyinesiz bulma
- 22. Bulma istisna
- 23. Bulma endeksi
- 24. Git iki kez stash
- 25. yeniden adlandırma Uzaktan Git Dallar
- 26. Git çakışma (yeniden adlandırma/yeniden adlandırma)
- 27. Alias "git git" sadece "git"?
- 28. git: başka bir dizinde depoya taşını taşıma
- 29. git-svn yeniden adlandırma izleme şube
- 30. Belirli bir işlem için etiket bilgilerini bulma
Eğer 'foo'yu' master' içine birleştirirseniz, 'git branch --mered master' listesinde görünecektir. Ama bir kez daha "foo" yapsan ne olur? Artık bu listede görünmüyor mu, yoksa yeni taahhütlere sahip olduğu gibi, bir noktada * "master" ile birleştirildi mi? –
@CraigOtis Artık listede görünmeyecek. "--merged" sadece verilen dalda * tamamen * olan şubeleri listeler. – Amber
ve 'gitk --remotes --not origin/master' size master olmak için birleştirilmemiş her daldaki taahhütleri gösterecektir. – yoyo