Pergunta

Eu apenas começaram a trabalhar em um projeto que usa o Mercurial como um sistema de controle de versão, e eu preciso de algumas dicas básicas sobre como usar este. Utilize esta questão para dar algumas dicas introdutórias sobre esta tecnologia.

Especialmente, eu estou procurando dicas sobre os melhores programas para usar e as melhores técnicas para o uso (ramos, dentro e fora de verificação etc. I necessidade de aprender as melhores práticas!)

Foi útil?

Solução

Eu sei que você já tem o site Mercurial mas o recurso mais útil para mim foi o Mercurial livro . É uma excelente visão geral do programa e como usá-lo.

Eu encontrei a melhor maneira de aprender Mercurial era apenas para usá-lo em um projeto. Eu importados para Mercurial um projeto que eu tinha exportado de subversão e fez algumas desenvolvimento regular com ele. Fiz questão de clonar o repositório para diferentes changesets para que eu pudesse se acostumar com a fusão e atualização. Eu não aprendi todos os usos avançados, mas agora estou em pé muito firme com ele e não mudaram de volta para Subversion ainda.

Um monte de projetos têm técnicas diferentes para cometer workflow. Alguns têm mudanças empurrado dos desenvolvedores, como sistemas centralizados, e alguns vão puxar as mudanças de contribuintes (Linux, por exemplo). É difícil generalizar demais, sem conhecer o processo para o seu projeto.

Esta é a forma como eu faço meu desenvolvimento:

  • árvore centralizado em um compartilhamento de arquivo ou http, chamado project-trunk ou project que é a versão definitiva do projeto
  • Uma árvore limpa no meu sistema que eu clonar a partir do repositório remoto e uso de empurrar de volta para o repositório. Eu, então, clone desta árvore para as minhas alterações. Eu chamo isso de project-local árvore
  • Clone a árvore project-local para cada uma das minhas alterações: por exemplo. project-addusers, project-141, etc.
  • Depois que eu terminei com as commit uma árvore, eu empurre as alterações ao project-local repositório
  • Finalmente, empurre as mudanças no project-local para project-trunk

Eu tenho a árvore project-local limpo, porque então eu posso empurrar todos os changesets de volta para o tronco de uma só vez, o que é útil se houver um grupo de mudanças relacionadas a essa necessidade para empurrar de volta juntos.

Quanto às ferramentas, que depende de sua plataforma. Eu só usar a ferramenta de linha de comando de baunilha. Vindo do TortoiseSVN, foi um pouco de uma mudança para ir para a linha de comando. Mas eu estou bem com isso agora. Eu tentei usar TortoiseHg mas não funcionou bem no meu Windows 7 x64 máquina virtual. Ouvi dizer que é muito melhor nas plataformas de 32 bits suportados.

Outras dicas

Aqui é um útil tutorial sobre Mercurial escrito por Joel Spolsky .

Ele cobre o uso e comandos básicos, bem como a forma de trabalho com Mercurial em um nível mais conceitual. Se você já está familiarizado com o SVN, em seguida, a primeira parte é definitivamente vale a pena ler: ele fala sobre as principais diferenças conceituais entre SVN e Mercurial, porque tentando usar Mercurial da mesma forma que você usa SVN é pedir problemas

Tenha um olhar para o Mercurial livro , ou neste Mercurial tutorial .

Dependendo de sua formação com outras ferramentas de controle de origem, Também gostaria de sugerir uma específica SCM-qualquer que seja a guia Mercurial. Por exemplo, ter um olhar para este guia para os usuários do Subversion .

Um outro recurso bom para obter a sua cabeça em torno de toda a idéia "distribuídas" controle de origem é: http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ ... com diagramas votos!

Se você usar o mais recente TortoiseHG cliente e incluem o diretório de instalação em seu ambiente PATH, você será capaz de usar tanto a interface gráfica agradável que eles fornecem, ea linha de comando 'hg'

Eu não posso recomendar usando as extensões mq demais. Eles fazem um ótimo ambiente 'trabalhar repositório'.

Eu uso as filas para gerenciar as mudanças locais contra um repositório Subversion. Eu faço as minhas alterações locais curto prazo e usar mercurial para manter em sincronia com a subversão eo resto da equipe.

Alguns dos posts de Steve Losh são boas, mesmo que eles são um par de anos agora. Eles lidam principalmente com a forma de trabalho com ramificação.

Também vale a pena olhar para o seu hgtip.com site.

Além do Livro Mercurial eo tutorial Hg Init, eu gostaria de mencionar o guia orientada por exemplo, eu tenho escrito:

Ele mostra como começar a usar o Mercurial e também abrange alguns conceitos mais avançados, tais como ramos nomeados e hgsubversion. Eu usei-o ao ensinar Mercurial para novos usuários e eles pareciam gostar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top