git - que - Cómo detener el seguimiento de un archivo sin eliminarlo del repositorio
git ver archivos modificados (4)
Tengo un archivo de configuración que quiero mantener en el repositorio remoto, pero no quiero rastrear sus cambios en mi computadora. Agregarlo a .gitignore no funciona.
La razón por la que no deseo realizar un seguimiento de los cambios es porque se supone que difiere entre las computadoras según su entorno.
Podría comprometer todos los demás archivos, y para los cambios en las configuraciones locales solamente, podría usar la función ''stash'' que proporciona git.
Si desea detener temporalmente el seguimiento de un archivo, puede seguir usando
git update-index --assume-unchanged <file>
// track changes again :
git update-index --no-assume-unchanged <file>
Tendrá que hacer la combinación de archivo .gitignore y git rm --cached. Use el siguiente comando:
git rm --cached nombredearchivo.txt
Esto eliminará el archivo de la indexación pero lo mantendrá en su repositorio y área de trabajo. Después de aplicar rm -cached, tendrá que confirmar los cambios para que surta efecto. Aparecerá como Eliminado en sus cambios rastreados, pero eso es solo porque se ha eliminado de la indexación. Nota: Si vuelve a realizar cambios en futuras confirmaciones, deberá ejecutar: git rm --cached para destrabar los cambios en el archivo de la confirmación concreta.
Si ese es el caso, entonces no debería tener el archivo versionado en absoluto; deberías versionar una plantilla del archivo. Por ejemplo, si el archivo de configuración es foo/config.txt
, debe tener una versión de foo/config.txt.template
en el repositorio con ajustes de configuración de ejemplo (o en blanco). foo/config.txt
no debe estar en el repositorio, y debe ignorarse con .gitignore
.
Luego, en un nuevo clon, simplemente copie foo/config.txt.template
a foo/config.txt
y modifique la configuración según corresponda.