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

  • Defence Videos

    Defence Vide

    13 Mayıs 2013
  • ecf150king

    ecf150king

    20 Ocak 2006
  • Photoshop Training Channel

    Photoshop Tr

    13 Temmuz 2012