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.)