Eu tenho tido grande sucesso com git-hga partir https://github.com/cosmin/git-hg (requer o trabalho de instalação de hg, também). Ele suporta buscar, puxar e empurrar e é mais estável para mim do que hg-git(recursos semelhantes do hggit).
Consulte https://github.com/cosmin/git-hg#usage para obter exemplos de uso. A interface do usuário é muito parecida com git-svn.
Isso git-hgrequer espaço em disco extra para cada repositório hg clonado. A implementação usa o clone completo do mercurial, um clone extra do git bare e o repositório real do git. O espaço em disco necessário é aproximadamente três vezes o uso normal apenas do git. As cópias extras são armazenadas abaixo do .gitdiretório do seu diretório de trabalho (ou local indicado GIT_DIRcomo de costume).
Aviso: O problema básico que git-hgtenta resolver é que não há mapeamento 1: 1 entre gite hgrecursos. O maior problema é a incompatibilidade de impedância entre os ramos git e ramos sem nome hg e hg chamado ramos e bookmarks hg (todos aqueles parecem muito com ramos para gitusuários). Um problema relacionado é que hgtenta salvar o nome da ramificação nomeada original no histórico da versão, em oposição ao git, em que o nome da ramificação é adicionado apenas à mensagem de confirmação do modelo por padrão.
Qualquer ferramenta que pretenda criar uma ponte interoperável entre gite hgdeve explicar como vai lidar com essa correspondência de impedância. Você pode decidir se a solução selecionada atende às suas necessidades.
A solução git-hgusada é descartar todos os indicadores hg e converter ramificações nomeadas em ramificações git. Além disso, define o ramo mestre do git como padrão do ramo hg sem nome.