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

  • DrePwn

    DrePwn

    22 Temmuz 2011
  • lane182videos

    lane182video

    6 EKİM 2011
  • makemebad35

    makemebad35

    17 NİSAN 2006