SORU
16 AĞUSTOS 2010, PAZARTESİ


Koş git tüm alt dizinleri kenara Çek

Nasıl paylaşılan ebeveynlerinin dizinden cd'Her repo kök dizine ıng? olmadan birden gıt depoları güncelleyebilir miyim Hepsi ayrı git depoları olan şu var (değilalt modüller):

/plugins/cms
/plugins/admin
/plugins/chart

Hepsini aynı anda update ya da en azından benim şu anki iş akışını basitleştirmek istiyorum:

cd ~/plugins/admin
git pull origin master
cd ../chart
git pull

vb.

CEVAP
19 EYLÜL 2012, ÇARŞAMBA


Bu durumda üst dizini takip plugins çalıştırma:

find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \;

Netleştirmek için:

  • find . geçerli dizini arar
  • Dizinleri, dosyaları bulmak için -type d
  • Bir maksimum derinliği için -depth 1-alt dizin
  • -exec {} \; her için özel bir komut bulmaya çalışır
  • git --git-dir={}/.git --work-tree=$PWD/{} pull gıt tek tek dizinleri çeker

Etrafında bulmak, oynamak için -exec sonra echo kullanarak önizleme, örneğin tavsiye ederim:

find . -type d -depth 1 -exec echo git --git-dir={}/.git --work-tree=$PWD/{} status \;

Not: Eğer -depth 1 seçeneği varsa, -mindepth 1 -maxdepth 1 deneyin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Droid Life

    Droid Life

    17 Kasım 2009
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006