mercurial - español - tortoisehg svn
Mercurial-¿Cómo eliminar un archivo del control de versión? (5)
Así que accidentalmente incluí un archivo de configuración (diferente para cada máquina) en nuestros repositorios de mercurial.
¿Cómo puedo hacer que Mercurial no lo incluya en el control de versiones? No quiero eliminar el archivo porque todavía lo quiero. Y tampoco quiero hacer que el archivo se elimine en los directorios que funcionan de otros desarrolladores.
¿Y cómo hago esto en TortoiseHG?
Esta es la forma manual de hacerlo a través de la línea de comando:
- Copie el archivo de configuración en algún lugar fuera del repositorio.
- Ejecuta
hg rm path/to/config/file
- Agregue la ruta del archivo de configuración a su
.hgignore
. - Comprometerse con el repositorio.
- Mueva el archivo de configuración a donde lo tenía.
- Haz una
hg stat
en tu repositorio para verificar que lo hiciste bien. (No debería aparecer en la lista de archivos modificados / agregados).
Editar :
hg forget
es la mejor manera de hacer esto.
- Ejecute
hg forget path/to/config/file
- Edite su
.hgignore
y agregue la ruta al archivo de configuración. -
hg ci
para guardar sus cambios. - Ejecute
hg stat
para asegurarse de que todo funcionó de acuerdo con el plan.
Consulte la respuesta de nates para saber cómo hacerlo TortoiseHG.
agrégalo a tu lista de ignorar.
Ver el archivo .hgignore.
TortoiseHG le da acceso a este archivo de configuración a través de la opción de menú "Editar Ignorar Filtro".
hg remove
or hg remove -f
? Creo que hg forget
también lo quita de la rama.
En ambos casos, los archivos se conservan en su directorio.
Haga clic derecho en el archivo -> TortoiseHG -> Olvidar archivos. Haz clic en Olvidar. Compromiso y sincronización.
Editar: también querrás agregar la ruta a tu .hgignorar para evitar que se agregue nuevamente. Puede hacer clic con el botón derecho sobre el archivo en el cuadro de diálogo HG Commit y elegir ignorarlo.
Para aquellos que usan SourceTree , hay una opción Stop Tracking
cuando haces clic derecho en un archivo, básicamente hace lo mismo que hg forget
o git rm --cache
, eliminando el archivo del repositorio pero no del disco duro.