2009-12-22 26 views
38

Tengo un repositorio en GitHub (http://github.com/hrickards/PHP-Crypto) para un pequeño proyecto en el que yo y un par de otros estamos trabajando. Mi entorno de desarrollo es Aptana Studio, y utilizo el plugin EGit ya que Aptana es básicamente Eclipse debajo. Hoy el diseñador envió el HTML y CSS para el sitio web con las imágenes en una carpeta llamada img. Anteriormente, las imágenes estaban en una carpeta llamada imágenes. Sin pensar en ello y ser demasiado flojo para actualizar el CSS y el HTML, simplemente guardé las imágenes en el directorio img y me comprometí con Git. Sin embargo, la interfaz web de GitHub muestra los directorios img e images, y el directorio de imágenes está vacío. He intentado borrar el directorio de imágenes con git rm -r images y git rm images, e incluso mkdir images; git add images; git rm -r images, pero sea lo que sea que intente, obtengo el mismo resultado: fatal: pathspec 'images' did not match any files.Git eliminar el directorio

¿Alguien ha recibido algún consejo sobre cómo eliminar imágenes, o estoy malinterpretando a Git o algo así?

Respuesta

39

Git no almacena ninguna información sobre el directorio, solo los archivos que contiene. Por lo tanto, no puede agregar o eliminar directorios; si dice git add images, Git agregará todos los archivos dentro de ese directorio (que no coincidan con la lista de ignorar).

Generalmente, la única forma de que exista un directorio vacío es si realmente contiene un archivo, generalmente un archivo oculto como .gitignore.

Dijiste que ves un directorio images en GitHub, pero no lo veo en el repositorio al que te has vinculado. ¿Estás seguro de que está allí, y no solo un directorio vacío en tu disco? Si solo se trata de un directorio vacío en su disco, puede simplemente eliminarlo usando rm images; Git no necesita saber sobre eso.

+0

Tienes razón, no está allí ahora. Definitivamente no estaba en mi disco, así que solo puedo suponer que mi navegador, Chrome, había guardado en caché la página o algo, incluso cuando lo actualicé. Tiene la costumbre de hacer eso. ¡De todas formas, gracias por la ayuda! – hrickards

+0

@hrickards Solo un consejo, si quiere forzar a Chrome (creo que también funciona en otros navegadores pero no lo probé) para volver a cargar la página por completo, presione [CTRL] + F5. –

3

El repositorio vinculado de GitHub no muestra el directorio de imágenes.

Git no almacena directorios vacíos por razones técnicas, así que simplemente intente rm images y elimine el directorio de imágenes de la jerarquía de su directorio local.

+0

Hola, como dije antes, creo que Chrome debe haber guardado en caché la página, incluso cuando hice F5 o algo así. ¡De todas formas, gracias por la ayuda! – hrickards

39

probar esto:

git rm -r -f DirectoryName 
+15

¡se elimina físicamente! – quux

+23

'git rm -r -f --categoryName' <<< ¡use esto para dejar la copia local sola! – Sk606

+2

@ Sk606: ¿podría publicarlo como una respuesta separada? Recibiría votos (al menos de mí), porque esta es la solución real :) – Sk8erPeter

41

Esto es lo que yo uso, y creo que querrá también. Está cerca de las otras respuestas, pero instruye a git para NO cambiar los archivos locales.

git rm -r -f --cached DirectoryName 
  • -R: recursivo
  • -f: fuerza
  • --cached: se aplican sólo al índice (área de ensayo). Git solo deja las copias locales.