Quiero sacar de git todos los archivos que haya versionado de svn, ya que lo puse muy tarde en el .gitignore y alcanzó a guardar bastantes archivos de este primitivo sistema de control de versiones.

Sé que con

git rm --cached

puedo borrarlos del índice de git pero no borrar los archivos (lo cual necesito, porque el proyecto lo versiono con ambos sistemas).

También puedo listar todos los archivos versionados con

git ls-files

¿Entonces quizás es cosa de combinarlo con grep?

git ls-files | grep .svn

Podríamos usar xargs como lo hemos hecho antes >> pero me llama la atención la sintaxis que sugieren aquí >>

git rm --cached $(git ls-files | grep .svn)

y funciona.

Ahora, qué es éso ¿un argumento?
Lo que pasa es que git rm recibe n argumentos, con el $() simplemente los estamos poniendo uno detrás de otro. (Creo.)

Este sitio utiliza cookies.    Leer más