hg update 00 y su alternativa git

Después de crear un nuevo repository "maestro" en mercurial solía ejecutar siempre

hg update 00 

(solo funcionaría con más un 0 …)

Esto eliminaría todos los files y carpetas (rastreados / confirmados) de la carpeta del repository pero no del repository y solo dejaría la carpeta .hg. Aprendí esto de mi colega en un trabajo anterior y lo usé desde entonces. Me gusta la limpieza de la carpeta y la utilicé solo para el repository principal, que no se edita directamente (solo se clona).

¿Qué hace realmente este command y cuál es su alternativa en GIT (si existe)?

Gracias.

Hay una diferencia entre hg y git en la forma en que se ven los repositorys en el server (lo que usted llama repository principal ): para mercurial es similar a lo que .hg en su máquina: tiene una carpeta .hg y también puede tener una directory de trabajo con files, que pueden considerarse útiles a veces o que deben evitarse.

Para git, por otro lado, puede tener lo que llaman un repository simple , sin tree de trabajo o sin copy de sus files; de hecho, los files git se almacenan directamente en la carpeta raíz de su repository en lugar de en una subcarpeta .git .

Si esto es lo que quieres, evitando tener files, simplemente utiliza:

git init --bare [directory]

Has hecho dos preguntas. @ christophe-muller tiene la respuesta más grande: "¿qué es el equivalente de git?

El otro fue "¿Qué [realmente] hace este command?", Y la respuesta a eso es: Se actualiza a la revisión null . Esa es la revisión antes de la primera confirmación, que en sí misma es la revisión cero. Es por eso que hg update 0 no funciona: te lleva a la primera confirmación real. La confirmación null anterior a esa tiene la identificación hash / node de 000000000000000000000000 , con la que coincide 00 , y el número de revisión -1 .

La forma más tradicional de hacer esto sería hg update null aunque hg update -1 también funciona.