Como muitas pessoas sugeriram, o Mercurial via TortoiseHg tem uma barreira muito baixa à entrada.
Para os usuários do Windows, é um instalador único, e não dois instaladores (e um monte de coisas que eles talvez não queiram aprender) e a interface do usuário THg é muito mais polida que o TortoiseGit + Msysgit .
Cabeças anônimas
Se você acha que eles ficariam confusos com cabeças anônimas, não incentive o uso delas. A maioria dos hg
livros adota uma abordagem equilibrada, ensina ramos topológicos e nomeados e permite que o leitor determine qual é o mais apropriado para seu uso.
Ramos nomeados
Uma coisa que eu realmente sinto falta git
é hg
o nome de branches , então essa é uma opção. git
ramificações são boas enquanto você trabalha nelas, mas depois de mesclar esse trabalho em outra ramificação, você perde grande parte do contexto dessas alterações.
Em hg
você poderia criar um ramo chamado Jira#1234
e sempre ser capaz de encontrar todas as revisões associadas a essa correção . Em git
, uma vez que sua ramificação é mesclada e a ref excluída, é necessário inferir quais revisões fizeram parte da correção da topologia da árvore de revisões. Mesmo que você não exclua a ref, você ainda sabe apenas o último commit nesse ramo, e não quais de seus ancestrais faziam parte dessa cadeia de commits.
Favoritos
Como alternativa, se você não quiser usar ramificações nomeadas, mas desejar um git
estilo de fluxo de trabalho com suas ramificações anônimas, poderá usar marcadores .
Esse poderia ser o melhor dos dois mundos - eles aprendem um git
fluxo de trabalho, mas usam os hg
comandos mais simples .
Área de índice / cache / armazenamento temporário
Pessoalmente, acho que é muito mais provável que os alunos se confundam com a git
área de indexação / cache / preparação do que com hg
os chefes anônimos. Eu prefiro hg
tornar opcional essa funcionalidade avançada na linha de comando, da maneira que git
você sempre deseja / precisa usá-la.
Eu também acho que a área de preparação encoraja confirmações que não foram testadas ou compiladas. Como muitos dos locais em que trabalhei tiveram uma regra de não confirmar, se não compilar , prefiro arquivar / esconder as alterações que não quero no momento, executar novamente os testes de unidade e confirmar uma versão que Eu sei compila.
Quando você mais tarde rastrear um bug usando hg bisect ou git bisect , agradecerá a si mesmo por poder testar todas as revisões, não apenas as que são compiladas.