Aquí está la hoja de trucos sobre los comandos:
hg update
cambia la copia principal de la copia de trabajo y también cambia el contenido del archivo para que coincida con esta nueva revisión principal. Esto significa que las nuevas confirmaciones continuarán desde la revisión a la que actualice.
hg revert
solo cambia el contenido del archivo y deja sola la copia principal de la copia de trabajo. Normalmente lo utiliza hg revert
cuando decide que no desea conservar los cambios no confirmados que ha realizado en un archivo en su copia de trabajo.
hg branch
comienza una nueva rama con nombre. Piense en una rama con nombre como una etiqueta que asigna a los conjuntos de cambios. Entonces, si lo hace hg branch red
, los siguientes conjuntos de cambios se marcarán como pertenecientes a la rama "roja". Esta puede ser una buena manera de organizar conjuntos de cambios, especialmente cuando diferentes personas trabajan en diferentes ramas y luego desea ver de dónde se originó un conjunto de cambios. Pero no quieres usarlo en tu situación.
Si lo usa hg update --rev 38
, los conjuntos de cambios 39–45 se dejarán como un callejón sin salida, una cabeza colgante como la llamamos. Recibirás una advertencia cuando presiones, ya que estarás creando "cabezas múltiples" en el repositorio al que presionas. La advertencia está ahí, ya que es un poco descortés dejar esas cabezas ya que sugieren que alguien necesita fusionarse. Pero en su caso, puede seguir adelante y hg push --force
ya que realmente desea dejarlo colgado.
Si aún no ha enviado la revisión 39-45 a otro lugar, puede mantenerlos privados. Es muy simple: con hg clone --rev 38 foo foo-38
usted obtendrá un nuevo clon local que solo contiene hasta la revisión 38. Puede continuar trabajando foo-38
e impulsar los nuevos (buenos) conjuntos de cambios que cree. Todavía tendrá las revisiones antiguas (malas) en su foo
clon. (Usted es libre de cambiar el nombre de los clones que le apetezca, por ejemplo, foo
a foo-bad
y foo-38
a foo
.)
Finalmente, también puede usar hg revert --all --rev 38
y luego confirmar. Esto creará una revisión 46 que se ve idéntica a la revisión 38. Luego continuará trabajando desde la revisión 46. Esto no creará una bifurcación en el historial de la misma manera explícita que lo hg update
hizo, pero por otro lado no recibirá quejas por tener Múltiples cabezas. Lo usaría hg revert
si estuviera colaborando con otros que ya han hecho su propio trabajo basado en la revisión 45. De lo contrario, hg update
es más explícito.