2009-12-22 11 views
38

Ho un repository su GitHub (http://github.com/hrickards/PHP-Crypto) per un piccolo progetto su di me e un paio di altri stanno lavorando. Il mio ambiente di sviluppo è Aptana Studio e utilizzo il plugin EGit in quanto Aptana è fondamentalmente Eclipse. Oggi il designer ha inviato HTML e CSS per il sito Web con le immagini in una cartella denominata img. In precedenza le immagini erano in una cartella chiamata immagini. Non pensandoci e essendo troppo pigro per aggiornare CSS e HTML, ho semplicemente mantenuto le immagini nella directory img e mi sono impegnato a Git. Tuttavia, l'interfaccia web di GitHub mostra sia le directory img che le immagini, con la directory delle immagini vuota. Ho provato a eliminare la directory delle immagini con git rm -r images e git rm images e anche con mkdir images; git add images; git rm -r images ma qualsiasi cosa provassi ottengo lo stesso risultato: fatal: pathspec 'images' did not match any files.Git rimuovi directory

Qualcuno ha qualche consiglio su come rimuovere le immagini o sto fraintendendo Git o qualcosa del genere?

risposta

39

Git non memorizza alcuna informazione sulla directory, solo i file al suo interno. Quindi, non è possibile aggiungere o rimuovere le directory stesse; se dici , Git aggiungerà tutti i file all'interno di quella directory (che non corrispondono all'elenco di ignora).

In genere, l'unico modo per una directory vuota è se contiene effettivamente un file, in genere un file nascosto come .gitignore.

Hai detto che vedi una directory images su GitHub, ma non la vedo nel repository a cui ti sei collegato. Sei sicuro che sia lì, e non solo una directory vuota sul tuo disco? Se è solo una directory vuota sul tuo disco, puoi semplicemente rimuoverla usando rm images; Git non ha bisogno di saperlo.

+0

Hai ragione - non è lì ora. Sicuramente non era sul mio disco, quindi posso solo supporre che il mio browser, Chrome, abbia memorizzato nella cache la pagina o qualcosa del genere anche quando l'ho aggiornato. Ha l'abitudine di farlo. Grazie comunque dell'aiuto! – hrickards

+0

@hrickards Solo un suggerimento, se vuoi forzare il chrome (penso che funzioni anche in altri browser ma non l'ho provato) per ricaricare completamente la pagina, premi [CTRL] + F5. –

3

Il repository GitHub collegato non mostra la directory delle immagini.

Git non memorizza le directory vuote per motivi tecnici, quindi prova solo rm images e rimuovi la directory delle immagini dalla tua gerarchia di directory locale.

+0

Salve, come detto sopra, credo che Chrome debba aver memorizzato nella cache la pagina anche quando l'ho fatto a F5 o qualcosa del genere. Grazie comunque dell'aiuto! – hrickards

39

provare questo:

git rm -r -f DirectoryName 
+15

rimuove fisicamente! – quux

+23

'git rm -r -f --cached DirectoryName' <<< usa questo per lasciare da solo la copia locale! – Sk606

+2

@ Sk606: potresti postarlo come risposta separata? Otterrai upvotes (almeno da me), perché questa è la vera soluzione :) – Sk8erPeter

41

Questo è quello che uso, e credo che si vorrà pure. È vicino alle altre risposte, ma ordina a git di NON modificare i file locali.

git rm -r -f --cached DirectoryName 
  • -r: ricorsivo
  • -f: forza
  • --cached: si applicano solo a indice (area di gestione temporanea). Git lascia le copie locali da solo.