¿Por qué no hay "pathpec" cuando intento eliminar una carpeta en Git?

9

Estoy tratando de eliminar una carpeta de mi repositorio Git con

git rm folderToRemove

pero Git emite este error cuando intento hacerlo.

fatal: pathspec 'siteFiles/applicationFiles/templates/folderToRemove' 
did not match any files

Mi directorio actual es "plantillas". Este error me cdparece extraño ya que puedo ingresar a la carpeta "folderToRemove", por lo que claramente existe. ¿Qué significa este error?

David Faux
fuente

Respuestas:

17

Git no versiona directorios, solo "contenido" (contenido de directorio o archivos)

no coincide con ningún archivo

Eso significa que no hay ningún archivo para eliminar folderToRemove, como mencioné en " No se puede eliminar archivos de Git de forma recursiva ".
Ahora puede eliminar (Windows delo Unix rm) el directorio en sí.

Como se describe en " Eliminar directorios vacíos en Git ", también puede ejecutar un:

git clean -fd

Sin embargo:

Advertencia: el comando clean elimina todos los archivos de la copia de trabajo actual que no están siendo rastreados por git. Esta es una buena manera de perder su trabajo si no ha agregado nuevos archivos a git. Siempre corre git addantes git clean.

Ejecutar bastante primero a:

git clean -d -x -n

Como se explica en " ¿Cómo borro mi directorio de trabajo local en git? ".

VonC
fuente
pero ¿cómo "limpio" el control remoto de otra persona cuando hacen un tirón?
Ilea Cristian
@IleaCristian debido a la naturaleza distribuida de Git, no limpias un control remoto, solo tu propio clon.
VonC
El problema es que no hacemos la compilación final. Los archivos del proyecto (que ve el IDE) son en realidad algunas carpetas con "extensión" (myproj.xcworkspace o myproj.xcodeproj). Quería eliminar el xcworkspace y dejar solo el xcodeproj. Básicamente, quería obligar a las personas que hacen la compilación a usar solo el archivo xcodeproj.
Ilea Cristian