Instruções de Desenvolvimento com Mercurial + Bitbucket

INSTRUÇÕES DE PREPARAÇÃO DE AMBIENTE DE DESENVOLVIMENTO E USO DO MERCURIAL

O projeto deverá ser feito utilizando o SCV (Sistema de Controle de Versão) Mercurial hospedado no Bitbucket. Para isso o recomendado é seguir os seguintes passos:

0. Primeiro é necessário se cadastrar no Bitbucket. Cada membro da equipe deve se cadastrar. Um dos membros (o que for fazer o fork, vide passo 1) deverá compartilhar o projeto para escrita com o outro colega (detalhes no passo 1).

1. Criar um fork. Fazer um fork (do inglês, “garfo”) de um projeto é pegar um projeto de código aberto existente e copiá-lo como um projeto próprio. Assim, é possível modificá-lo como se fosse seu próprio projeto. Um outro nome para isso seria ‘ramificação’. Quando você faz um fork de um projeto existente, vocês está criando uma nova ramificação dele.

1.1 No Bitbucket, entre na página do projeto e clique em Fork. Coloque o nome da dupla em Description e deixe as demais opções como estão (deixe público). Clique em ‘Fork repository’.

1.2 Pronto! Você já criou se projeto. Explore a página do Bitbucket do seu projeto.

1.3 Compartilhe o projeto com seu colega: No Bitbucket, no canto superior direito da página do projeto, clique em Share. Digite o nome de usuário ou email (usado no cadastro) do seu colega e clique em Add. Selecione as opções WRITE (permissão de escrita, isto é, de modificação do código, o que será obviamente necessário) ou ADMIN (além de permitir escrita, permite configurar o projeto, e.g., mudar nome e outras configurações).

2. Clone seu projeto.

2.1 Na página do seu projeto “forkado”, clique em Clone (no menu do canto esquerdo). Um comando aparecerá, copie. Entre na pasta onde deseja que o projeto fique em sua máquina, e cole o comando no terminal.

2.1.1. OBS: Se estiver usando TortoiseHg (veja no final como instalá-lo e usá-lo), clique com o botão direito na pasta e procure a opção Clone. Cole o endereço do projeto onde for pedido. O mesmo se aplica aos demais comandos do Mercurial: procure o equivalente na interface gráfica do TortoiseHg.

2.2 Pronto! Seu repositório com o projeto já está em sua máquina.

3. Trabalhe no projeto

3.1 No decorrer do projeto, é importante dar commit (consolidar) nas mudanças realizadas. Prefira dar commit sempre que você adiciona algo relevante, mesmo que seja mínimo.

3.1.1. Primeiro, entre na pasta raiz de seu projeto e rode o comando ‘hg addremove *‘ (sem as aspas). Este comando fará o Mercurial considerar todas as mudanças realizadas no projeto.

3.1.2. Em seguida, rode o comando ‘hg commit -m “Mensagem de commit-u <SeuNome>‘. Este é o comando que efetivamente fará o commit. A mensagem de commit é muito importante. Escreva nela resumidamente o que foi modificado por você desde o último commit.

3.2 Após dar commit, suas alterações ainda não estarão no repositório do Bitbucket. O commit serve apenas para consolidar suas mudanças no repositório local (na sua máquina). Portanto, é necessário fazer um Push (empurrar, “mandar pra frente”). Para isto, logo após realizar o commit, digite o comando ‘hg push‘. Digite sua senha do Bitbucket e dê enter quando for solicitado. Confira se a alteração chegou no Bitbucket acessando a seção Commits do site.

4. Trabalhando em equipe

4.1 Commits e Pushs constantes são necessários para coordenar o trabalho em equipe. Por isso, revisem o passo 3.

4.2 Quando seu colega fez um commit e push, é necessário que você puxe as alterações dele para sua máquina. Para isso, é necessário dar um Pull (puxar). Rode o comando ‘hg pull‘. (OBS: Prefira dar um commit nas suas modificações mais recentes antes de dar um Pull para evitar problemas)

4.3 Se não houver nenhum conflito, rode o comando ‘hg update‘. Pronto! As alterações do seu colega já estarão atualizadas na sua máquina e vocês estarão sincronizados.

4.4 Se houver conflito, o Mercurial irá avisar. Será necessário fazer um Merge (mesclar).

4.4.1. Rode o comando ‘hg merge‘. Se as duas cabeças (as duas “linhas do tempo” do projeto conflitantes) não tiverem código com linhas conflitantes, o Merge será bem sucedido (ele simplesmente irá mesclar os dois arquivos, adicionando ou removendo as linhas que foram modificadas). Basta agora dar um Commit com uma mensagem dizendo que foi necessário fazer um Merge. Enfim, dê um Push para mandar a mesclagem para o Bitbucket.

4.4.2. Se ao rodar o comando Merge, aparecer que não foi possível mesclar e que será necessário resolver o conflito:

4.4.2.1. Rode o comando ‘hg resolve‘. Ele irá mostrar a diferença entre as duas versões conflitantes.

4.4.2.2. Abra o arquivo conflitante no DrRacket e edite-o de modo que fique a versão correta (por exemplo, se a sua versão for a correta, deixe como está, se a versão do colega for a correta, coloque a versão do colega). Salve.

4.4.2.3. Rode o comando ‘hg resolve -m <nomedoarquivo>‘, trocando <nomedoarquivo> pelo nome do arquivo em que houve conflito.

4.4.2.4. Dê um Commit explicando como foi resolvido o conflito, e enfim dê Push para mandar a versão resolvida para o Bitbucket.

OBS: É possível executar todas as ações (e até utilizar mais recursos visuais) por meio do TortoiseHg. No Linux, basta instalar com ‘sudo apt-get install tortoisehg‘ e rodar (dentro da pasta do projeto) o Workbench com o comando ‘thg‘. No Windows é necessário baixar um instalador. É possível acessar os comandos e o Workbench clicando com o botão direito sobre a pasta do projeto.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s