SORU
1 EKİM 2009, PERŞEMBE


Otomatik olarak kaldırın.kontrol etmek ve aksi takdirde boş dizinleri yeni bir dal bilim dosyalar

Buraya git ve python kullanırken ilginç bir durum, ve diğer durumlar için de olur eminim.

Hadi bir klasör ile bir git repo /deneme yapacağım demek. Bu klasörde /foo/program.py koydum. Program.py ve programı çalıştırın.bilim oluşturulur. *Var.içinde bilim .gitignore dosyası, git onu takip etmiyor.

Şimdi gelelim başka bir şube, dev yapayım mı. Bu dev kolunda, ben /foo tamamen kaldırmak/ klasör.

Şimdi geri ana dala geçiş, ve /foo/ görünür. Bu program.py ve programı çalıştırın.bilim dosyası görüntülenir. Her şey yolunda.

Geri dev benim şube geçin. /Foo/ dizini yok. Sadece ana şube, dev şube var. Ancak, hala orada. Neden? Çünkü göz ardı edilen bir program.dosya bilim dalları arasında geçiş yaparken silinecek klasörü engeller.

Bu sorunun çözümü için tüm *yinelemeli olarak sil.dalları geçmeden önce bilim dosyalar. Kolayca bu komut ile yapabilirim.

find . -name "*.pyc" -exec rm '{}' ';'

Sorun hatırlamak dalları değiştiriyorum hemen hemen her zaman bunu yapmak can sıkıcı bir durum. Bu komut için bir diğer ad yapabilirim, ama ben hala yazın dalları ben değişikliği her zaman hatırlamak zorunda. Ayrıca git-şube için bir takma ad yapabilirim, ama o da iyi değil. Git branch komutu sadece şube değişikliği dışında başka şeyler yapar, ve bilim dosyalarını kullanıyorum her seferinde silmek istemiyorum. Heck, hatta olmayan bir python repo o zaman kullanabilirim?

Bir şekilde sadece dallar değiştirdiğimde yürüten git bir çek var mı? Oraya ya *ayarlamak için başka bir yoludur.dalları ben anahtarı ne zaman silinir almak için bilim dosyalar?

CEVAP
1 EKİM 2009, PERŞEMBE


post-checkout bir kanca yerleştirilir .git/hooks/-çıkış sonrası. Muhtemelen bir örnek var, muhtemelen adında var .örnek ya da çalıştırılabilir, git sürümüne bağlı olarak mümkün değil. Kısa açıklama: şube değişirse ve eğer bir dosya teslim olursa sadece 0 üç parametre, bir önceki BAŞKANI, yeni BAŞKANI ve 1 olan bir bayrak alır. Daha fazla bilgi için man githooks bakın! Ne gerekiyorsa yap ve onu oraya koymak için bir kabuk komut dosyası yazmak gerekir.

Edit: kasada otomatik olarak boş. haline dizinleri temizler, böylece bu ön ödeme yapmak için arıyoruz biliyorum Ön ödeme kanca var, ama senaryonu dizinleri de kaldırmak için kullanmak gerekir.

Başka bir not: Takma bir depo (. yerel olan gitconfig parçası, git/config ~/.gitconfig). Eğer takma git-ödeme, git-şube için () ile bunu yapmak için seçerseniz kolayca python ile ilgili deposunun koyabilirsiniz. Bu durumda da, bir diğer adı, özellikle bu amaç için (örneğin ödeme için cc temiz) yapmak istiyorum. Yine de eğer bilim dosyalarını temizlemek istersen eğer ... ödeme (veya başka bir takma ad form) kullanabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011
  • Samvith V Rao

    Samvith V Ra

    20 EKİM 2006
  • THELIFEOFPRICE

    THELIFEOFPRI

    16 Mart 2011