2010-05-25 25 views
27

Digamos que usted hace hg status y tiene tres archivos modificados. Sé cómo verificar los tres archivos (hg commit). ¿Pero cómo puede registrar (y luego hg push) solo uno de los archivos modificados?¿Entrar en un solo archivo con Mercurial?

+2

posible duplicado de [Usando mercurial, ¿cuál es la manera más fácil de confirmar y enviar un solo archivo dejando otras modificaciones en paz?] (Http://stackoverflow.com/questions/125272/using-mercurial-whats-the-easiest -way-to-commit-and-push-one-file-while-le) –

Respuesta

43

favor verifique the output of hg help commit que revela que se puede hacer

hg commit foo.c 

si sólo quieres cometer un solo archivo. Esto es como Subversion y muchos otros sistemas - no hocus-pocus :-)

+0

Recibo un mensaje "abortar ... ¡archivo no rastreado!". Mi repositorio local ya ha sido rastreado por Mercurial. ¿Qué podría estar mal? – WindRider

+1

@WindRider: significa que debe decirle a Mercurial que desea rastrear el archivo primero. Utilice ['hg add' para eso] (http://www.selenic.com/mercurial/hg.1.html#add). Ver también [una guía de Mercurial] (http://mercurial.aragost.com/kick-start/en/basic/#creating-a-changeset) –

7

Just Do:

hg ci -I path/to/file -m "commited only one file" 

que compromete sólo un archivo, y se puede empujar, y se verá afectado ninguno de los cambios no confirmados.

+2

también debería ser capaz de hacerlo como lo haría en svn: hg commit -m "aquí está mi mensaje" ruta/a/archivo – RyanWilcox

2

En caso de que se ejecute en Windows, TortoiseHG (una interfaz gráfica de Mercurial) le permite seleccionar qué archivos comprometer cada vez.

Cuestiones relacionadas