2012-02-20 8 views
8

Originalmente, tenía todo lo contenido en mi rama principal.Destrabar archivo rastreado en Git, pero solo en una rama específica?

Luego, decidí dividirme en las ramas de Mac y Windows, y hacer que la rama principal solo rastree los archivos de código fuente. Así que comencé a realizar solo cambios en los archivos de código fuente cuando estaba en la rama principal, y fusioné esos cambios en el código fuente con las ramas de Mac y Windows, según fuera necesario.

El problema es que cuando rastreé originalmente todo en mi rama principal, también había rastreado el archivo del proyecto. Por lo tanto, estaría agregando nuevos archivos al proyecto y haciendo que se compilara en Mac y Windows, pero al volver a la rama principal, el archivo del proyecto también se volvería a cambiar a la versión anterior, lo que haría que fallara la compilación.

Entonces, ¿cómo puedo dejar de seguir mi archivo de proyecto en la rama principal ahora? No quiero dejar de rastrearlo en mis ramas de Mac o Windows, y tampoco quiero eliminarlo de versiones anteriores en la rama principal.

Respuesta

19
git rm --cached projectFile 

Eliminará el archivo en el índice, por lo que ya no será rastreado, pero no lo eliminará físicamente.

+0

Aha, gracias! ¿Desenrollará esto solo la rama actual o todas las ramas? – wrongusername

+0

Solo para el actual; al igual que 'git add'. – poke

+0

Aha, interesante. Lamentablemente, cada vez que cambio a la rama principal, también se elimina el archivo del proyecto. ¿Puedo obtener que solo cambie los archivos que está rastreando? – wrongusername

Cuestiones relacionadas