2009-12-22 19 views
38

Biraz projem için GitHub (http://github.com/hrickards/PHP-Crypto) üzerinde bir havuzum var ve bir çift çalışıyor. Benim geliştirme ortamım Aptana Studio'dur ve Aptana temelde Eclipse altında EGit eklentisini kullanıyorum. Bugün tasarımcı, img adlı bir klasördeki görüntülerle birlikte web sitesi için HTML ve CSS'yi gönderdi. Daha önce görüntüler, görüntüler adı verilen bir klasördeydi. Hiçbir şeyi düşünmemek ve CSS ve HTML'yi güncellemek için çok tembel olmak gerekirse, görüntüleri img dizininde tuttum ve Git'i kabul ettim. Bununla birlikte, GitHub web arayüzü, imaj dizini boş iken, hem img hem de imaj dizinlerini gösterir. Ben git rm -r images ve git rm images ile görüntüleri dizini silme denedim ve hatta mkdir images; git add images; git rm -r images ama ne olursa olsun ben de aynı sonucu elde deneyin: fatal: pathspec 'images' did not match any files.Git kaldırma dizini

Görüntülerin nasıl kaldırılacağı konusunda herhangi bir tavsiyede bulunuldu mu, yoksa Git'i yanlış anladım mı?

cevap

39

Git dizindeki herhangi bir bilgiyi, yalnızca içindeki dosyaları saklamıyor. Yani, dizinleri kendileri ekleyemez veya kaldıramazsınız; git add images derseniz, Git bu dizindeki tüm dosyaları (yok sayma listesiyle eşleşmeyen) ekleyecektir. Genellikle

, aslında bir dosya, .gitignore gibi genellikle gizli bir dosya içeriyorsa boş bir dizindir olabilmesi için tek yol.

Sen GitHub'dan bir images dizini görüyorum, ama size bağlı repo bunu göremiyorum söyledi. Orada olduğundan emin misin, sadece diskin boş bir dizini değil? Diskinizdeki boş bir dizinse, rm images kullanarak kaldırabilirsiniz; Git'in bilmesi gerekmiyor.

+0

Haklısınız - şimdi yok. Kesinlikle benim diskimde değildi, bu yüzden sadece tarayıcımın Chrome'u, sayfayı veya sayfayı yenilediğimde bile önbelleğe aldığını varsayabilirim. Bunu yapmanın bir alışkanlığı var. Yardımlarınız için teşekür ederim! – hrickards

+0

@hrickards Sadece bir ipucu, eğer kromu zorlamak istiyorsanız (bence diğer tarayıcılarda da çalışır ama bunu test etmedim) sayfayı tamamen yeniden yüklemek için [CTRL] + F5 tuşlarına basın. –

3

Bağlantılı GitHub deposu görüntü dizini göstermiyor.

Git yüzden sadece rm images denemek ve yerel dizin hiyerarşisi gelen görüntüleri dizini kaldırmak, teknik nedenlerle boş dizinleri saklamaz.

+0

Merhaba, yukarıda belirtildiği gibi, Chrome’un F5’le veya başka bir şey olsa bile sayfayı önbelleğe almış olması gerektiğini düşünüyorum. Yardımlarınız için teşekür ederim! – hrickards

39

bu deneyin:

git rm -r -f DirectoryName 
+15

fiziksel olarak kaldırır! – quux

+23

'git rm -r -f --cached DirectoryName '<<< bunu yerel kopyayı yalnız bırakmak için kullanın! – Sk606

+2

@ Sk606: ayrı bir cevap olarak gönderebilir misiniz? Sen (en azından benden) upvotes alacağım, çünkü bu gerçek bir çözümdür :) – Sk8erPeter

41

Bu ne kullanın, ve ben siz de isteyeceksiniz düşünüyorum. Diğer cevaplara yakındır, ancak yerel dosyaları DEĞİŞTİRMEYİN.

git rm -r -f --cached DirectoryName 
  • -r: özyinelemeli
  • -f: kuvvet
  • --cached: endeksi (alanı evreleme) için SADECE geçerlidir. Git yerel kopyaları yalnız bırakır.