SORU
7 Aralık 2010, Salı


Git diff bir dizin dışlamak

Git benim diff tüm bir dizin dışlamak nedir merak ediyorum. (Spec /bu durumda). Tüm yazılım serbest git diff komutu kullanarak bir fark yaratıyorum. Ancak görüşler değişiklikleri bu işlem için ilgisiz ve sadece baş ağrısı oluşturabilir. artık yapabileceğimi biliyorum

git diff previous_release..current_release app/

Bu örneğin uygulama dizinindeki tüm değişiklikler için, ama bir fark lib/ dizininde oluşturun. Herkes bu işin nasıl yapılması gerektiğini biliyor mu? Teşekkürler!

Ben sadece açık olmak istiyorum, sadece eksi /spec ucunda benim dizinlerin tüm parametreleri dize biliyorum. Edit: Gerçekten komutu tek bir dizin dışlamak için bir yolu olduğunu umuyordum.

CEVAP
7 Aralık 2010, Salı


Bash kullanın ve extglob verdiğinizi varsayarsak, kabuk tarafında ele verebilir:

git diff previous_release current_release !(spec)

Tüm diğer şeyler listesine sahip olmak tasarruf sağlar.

Ya da, kabuk-agnostik:

git diff previous_release current_release --name-only | grep -v '^spec/' | xargs git diff previous_release current_release --

Bu oyunu kabuk bir kendini argümanlar yeniden yazmak zorunda kalmamak için sarın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010