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

  • huyked

    huyked

    28 Mart 2008
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007