No creo que los cambios no comprometidos sean intrínsecamente algo malo. Se refiere a una "incapacidad para fusionarse con ellos": si tiene un cambio no confirmado en algún archivo, y extrae y actualiza un cambio en ese archivo, Mercurial comenzará el proceso de fusión como si lo hubiera comprometido, luego solicitó una fusión ¿Querías decir algo diferente?
Entonces, para los cambios locales que aún no desea compartir con otros desarrolladores, tiene dos enfoques. El primero es mantener los cambios en su copia de trabajo, pero no empujarlos, y el otro es dejarlos de lado, fuera de la copia de trabajo. El que elija depende de si desea tener estos cambios disponibles mientras trabaja.
Si los mantiene en la copia de trabajo, los cambios entrantes funcionarán bien, por lo que solo debe evitar crear cambios salientes, y eso significa evitar comprometerlos. Si los archivos son nuevos, eso es fácil, simplemente no lo haga hg add
. Si ya están rastreados, puede excluirlos específicamente de las confirmaciones con hg commit --exclude foo.txt
. Si tiene una gran cantidad de archivos para excluir, o los excluirá de muchas confirmaciones (por ejemplo, para un cambio permanente en un archivo de configuración local), mire la extensión de exclusión .
Si está preparado para mover los cambios a un lado, tiene otro conjunto de opciones. Lo más simple es simplemente usar hg diff
en los archivos para producir un parche que los describa, que guarde en un lugar seguro, y luego hg patch --no-commit
volver a aplicar ese parche cuando desee que los cambios vuelvan. Puede suavizar esto instalando la extensión de estantería , la extensión del ático o algún otro pariente. También podría usar la extensión de colas , pero eso es usar un mazo para romper una nuez. Incluso podría simplemente confirmar los cambios, luego actualizar de nuevo al padre y realizar otro trabajo allí, dejando los cambios en una rama anónima rechoncha hg commit -m 'temporary branch' && hg up $(hg log -r 'parents(.)' --template '{node}')
(¡aunque puede ser más fácil hacerlo manualmente!). Sin embargo, debería tener cuidado de no impulsar ese conjunto de cambios.