2010-11-14 13 views
28

duplicados posibles:
working with .git/info/exclude too late
.gitignore file not ignoring
git - removing a file from source control (but not from the source)¿Cómo destrabajo las carpetas de CVS después de usar git-cvsimport?

tengo en mis CVS/ tanto .gitignore y mis .git/info/exclude archivos. Pero, por alguna razón, los cambios en cualquier carpeta de CVS aún se siguen.

Estoy cansado de tener que realizar manualmente la fase de cambios en estas carpetas.

¿Cómo hago para que git deje de rastrear las carpetas de CVS una vez que se decide seguirlas?

+0

o tal vez de http://stackoverflow.com/questions/1139762/gitignore-file-not-ignoring? –

+0

o tal vez este: http://stackoverflow.com/questions/3296739/git-not-ignoring-certain-xcode-files-in-gitignore? –

+0

@Pavel: Sí, este es uno de esos duplicados que se ha preguntado de muchas maneras, pero que de alguna manera todavía no es suficiente para que las personas lo encuentren buscando. Nunca estoy seguro de cuál señalarlo. – Cascabel

Respuesta

62

.gitignore solo hace que git ignore los archivos sin seguimiento. "CVS" ya es rastreado por lo que primero debe eliminar del repositorio con:

git rm -r --cached CVS 

La opción --cached causa git para salir de la copia de trabajo del archivo intacto lugar de eliminarlo. Una vez hecho esto, la entrada en .gitignore impedirá que git interactúe nuevamente con el directorio de CVS.

¿Cómo hago para que git deje de rastrear las carpetas de CVS una vez que se ha decidido seguirlas?

Git nunca "decide" seguir el contenido, solo hace lo que le dices. En algún momento, lo agregó manualmente al índice y luego lo entregó al repositorio.

+1

@meager, ah * git rm --cached * es lo que me falta. – dkinzer

+1

@DKinzer, .gitignore no impedirá que git rastree un archivo que ya está rastreando. Como meagar dijo, también tienes que destrabarlo con 'rm'. Es posible que también necesite el distintivo "-r" para un directorio y el distintivo "-f" para ignorar los cambios que no están marcados. – Heatsink

+1

@meager, "En algún momento lo agregó manualmente al índice y luego lo asignó a el repositorio ". - En realidad, no entró para el viaje a través de una importación de git-svn. Pero creo que debo haberlos estado rastreando cuando estaba usando SVN, y simplemente no me di cuenta. – dkinzer

Cuestiones relacionadas