Objetivo

Criar um repositório com outra pessoa e receber feedback sobre essa alteração.

Missão breve

Até agora, você é a única pessoa que trabalha em um repositório. Mas e se você quisesse colaborar com colegas em um repositório? Isso é possível, estejam vocês no mesmo lugar ou em cantos diferentes do mundo.

Tempo Público Pré-requisitos
15 minutos Você tem alguma experiência com o Bitbucket Cloud. Caso não tenha, confira um dos tutoriais para iniciantes. Criar uma conta no Bitbucket Cloud
Nenhum Para aqueles que preferem usar uma GUI do Git com o Bitbucket Cloud Criar uma conta no Sourcetree

Sobre ramificações e solicitações pull

Ao trabalhar em uma equipe com vários usuários do Bitbucket, você vai querer trabalhar no próprio conjunto de códigos, à parte da base de códigos principal. É para isso que servem as ramificações. Uma ramificação representa uma linha de desenvolvimento independente para o repositório. É como se fosse um diretório de trabalho, uma área de staging e um histórico de projetos novos. Após criar a ramificação, você trabalha nela e faz commit de um código para ela, traz informações novas do Bitbucket para manter ela atualizada e depois envia todo o trabalho para o Bitbucket.

Assim que houver alterações de código em uma ramificação no Bitbucket, você vai poder criar uma solicitação pull, que é onde acontecem revisões de código. Os colegas vão fazer comentários no código com feedback e perguntas e (com sorte) aprovar a solicitação pull por fim. Quando houver aprovações suficientes, mescle a solicitação pull para mesclar a ramificação com o código principal.

Crie um repositório e adicione um membro de equipe

Você acabou de chegar na estação espacial do Bitbucket, e é hora de passar pelo processo de orientação, parte do qual envolve atualizações do pacote de boas-vindas e a aprovação dele. Para começar, a gente vai mostrar como é a criação de um repositório de equipe com determinado conteúdo e como dar acesso a alguém.

  1. Clique em + na barra lateral global e selecione Repositório sob Criar.

  2. Verifique se a equipe que criou é a proprietária do repositório.

  3. Digite o que quiser como Nome do projeto e Nome do repositório. Se não consegue pensar em algo, a gente sugere Pacote de boas-vindas e Primeiras impressões.

  4. Em Incluir um README?, selecione uma das opções com Sim.

  5. Em Sistema de controle de versão, escolha uma opção para o tipo de repositório que quer criar. Se não tem certeza, deixe assim.

  6. Clique em Criar repositório e você vai chegar na visualização da Fonte do repositório novinho em folha.

  7. Em Fonte, selecione > Adicionar arquivo.

  8. Nomeie o arquivo como survey.html, copie esse código e cole na área de texto principal.

\<\!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style media="screen" type="text/css"> body { margin: auto; width: 700px; color: #FFFFFF; font-family: Arial, sans-serif; background-color: #172B4D; } body>h1 { margin: 50px; font-size: 50px; text-align: center; color: #0052CC; } </style></head><body> <h1>Team up in space</h1> <p> Welcome to the team! You've made it this far so we know that you've got the potential to do great things. Because you're going to be collaborating with other awesome people, anything you add needs to be code reviewed and approved. That's just how a team works! You should have already created a branch and checked it out locally. If you haven't, go back to the tutorial and do that now. We'll be here. </p> <p> Because you're on your own branch, you can go crazy. Spice up this file any way you like. Add more files to this repository if you see fit. If want to take it slow and are just here to learn about pull requests, you can use this opportunity to fill out our short questionaire. </p> <br> <p> <b>Question 1</b>: Have you used pull requests before? </p> <p> <b>Answer 1</b>: **** Your answer here **** </p> <p> <b>Question 2</b>: Why do you want to learn about code review? </p> <p> <b>Answer 2</b>: **** Your answer here **** </p> <p> <b>Question 3</b>: Who do you plan to work with on Bitbucket? </p> <p> <b>Answer 3</b>: **** Your answer here **** </p></body></html>
  1. Clique em Commit e depois em Commit mais uma vez na caixa de diálogo.

Parece estar tudo certo com o repositório. Dê uma olhada por aí se quiser. Se você clicar nas Configurações e ir para a página de Usuário e de acesso aos grupos, vai ver que o colega breezycloud que você adicionou tem acesso ao repositório pelo grupo de Desenvolvedores.

Clone e faça uma alteração em uma nova ramificação

Em uma situação real com uma equipe, é bem provável que você já tivesse clonado o repositório antes de criar uma ramificação. É isso que a gente vai fazer antes de você desenvolver uma ramificação própria.

Você está usando uma linha de comando

Passo 1. Clone seu repositório em seu sistema local

A gente vai transferir o repositório para o sistema local para que você possa começar a trabalhar nele de fato.

  1. No repositório, clique em Clonar no lado direito superior.
    O Bitbucket vai mostrar a caixa de diálogo Clonar este repositório. Por padrão, a caixa de diálogo de clonagem define o protocolo como HTTPS ou SSH, dependendo das configurações. Como resultado, você não precisa alterar o protocolo padrão.
  2. Copie o comando de clonagem.

  3. Em uma janela de terminal, altere para o diretório local em que você quer clonar o repositório.

$ cd ~/<path_to_directory>
  1. Cole o comando que você copiou do Bitbucket, por exemplo:
$ git clone https://breezy@bitbucket.org/powerstars/first-impressions.git

Cloning into 'first-impressions'...
Password for 'https://breezycloud@bitbucket.org': 
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (6/6), done.

Para obter mais informações, confira o vídeo sobre clonagem para saber como se faz:

Etapa 2. Crie uma ramificação faça o envio local de pull

Com o repositório todo configurado, agora vem a parte divertida. Você pode criar ramificações locais ou pelo Bitbucket. A gente vai criar uma do Bitbucket para os objetivos deste tutorial.

  1. Clique em Ramificações na navegação esquerda. Você vai ver que já tem uma ramificação — a ramificação principal, mestre.

  2. Clique em Criar uma ramificação no canto superior direito.

  3. Após criar uma ramificação, você precisa confirmar ela no sistema local. O Bitbucket oferece um comando de busca e confirmação que você pode copiar e colar na linha de comando, que é mais ou menos assim:

$ git fetch && git checkout my-updates

Password for 'https://breezycloud@bitbucket.org': 
From https://bitbucket.org/planetbreezycloud/first-impressions
 * [new branch]      my-updates -> origin/my-updates
Branch 'my-updates' set up to track remote branch 'my-updates' from 'origin'.
Switched to a new branch 'my-updates'

Como é possível observar, você alternou para a nova ramificação local, o que permite que você trabalhe naquela linha de código separada e a envie.

Etapa 3. Altere a ramificação

Agora é a sua vez de fazer algumas alterações no repositório. Como o arquivo diz, você pode fazer o que quiser. Mude o CSS. Adicione mais arquivos. Componha uma ópera espacial. Ou apenas responda às perguntas.

  1. Abra o arquivo novo survey.html (ou qualquer tenha sido o nome escolhido) com um editor de texto.

  2. Faça as alterações, grandes ou pequenas, e então salve e feche o arquivo.

  3. Da janela de terminal, você ainda deve estar no diretório do repositório, a menos que tenha alterado alguma coisa. Veja o status do repositório com o git status. Você vai poder ver o arquivo survey.html modificado. Se você modificou ou alterou outros arquivos, eles também vão ser visíveis.

$ git status
On branch my-updates
Your branch is up-to-date with 'origin/my-updates'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   survey.html
no changes added to commit (use "git add" and/or "git commit -a")
  1. Faça a adição local das alterações com o git add :
$ git add survey.html
  1. Faça o commit local das alterações com o git commit -m "mensagem de commit":
$ git commit -m "Answered questions"
[my-updates 7506040] Answered questions
 1 file changed, 3 insertions(+), 3 deletions(-)
  1. Digite git push origin para transmitir as alterações para a ramificação no Bitbucket e insira a senha para finalizar o envio de alterações.
$ git push origin my-updates

Password for 'https://breezycloud@bitbucket.org': 

Counting objects: 3, done.

Delta compression using up to 8 threads.

Compressing objects: 100% (3/3), done.

Writing objects: 100% (3/3), 350 bytes | 350.00 KiB/s, done.

Total 3 (delta 1), reused 0 (delta 0)

To https://bitbucket.org/planetbreezycloud/first-impressions.git

   454ccaf..7506040  my-updates -> my-updates

Branch master set up to track remote branch master from origin.
  1. No Bitbucket, clique na página Fonte do repositório. Você vai ver ambas as ramificações no modo de suspensão. Quaisquer outros commits que você fizer para minhas-atualizações também vão aparecer naquela ramificação.

Você está usando uma Sourcetree

Passo 1. Clone seu repositório em seu sistema local

A gente vai transferir o repositório para o sistema local para que você possa começar a trabalhar nele de fato.

  1. A partir do repositório, clique em + na barra lateral global e selecione Clonar este repositório sob Mãos à obra.
  2. Clique em Clonar no Sourcetree.
  3. Na janela Novo clone, atualize o Caminho de destino para /primeiras-impressões/.
  4. Clique em Clonar.

Para saber como se faz, veja a parte Como clonar um repositório do vídeo aqui:

Etapa 2. Crie uma ramificação faça o envio local de pull

Com o repositório todo configurado, agora vem a parte divertida. Como as ramificações não são apenas um conceito do Bitbucket, você pode criar uma local. Contudo, a gente vai criar a partir do Bitbucket para os objetivos deste tutorial.

  1. Clique em Ramificações na navegação esquerda. Você vai ver que já tem uma ramificação — a ramificação principal.

  2. Clique em Criar uma ramificação no canto superior direito.

  3. Digite o Nome da ramificação e clique em Criar. Se não tiver um nome em mente, use algo do tipo minhas-atualizações.

  4. Após criar uma ramificação, você precisa confirmar ela a partir do sistema local. Para isso, clique em Confirmar no Sourcetree.

  5. Na caixa de diálogo Confirmar existente no Sourcetree, clique em Confirmar.

Agora você tem uma ramificação no Bitbucket confirmada no sistema local, o que permite que você trabalhe naquela linha de código separada e a envie.

Etapa 3. Altere a ramificação

Agora é a sua vez de fazer algumas alterações no repositório. Como o arquivo diz, você pode fazer o que quiser. Mude o CSS. Adicione mais arquivos. Componha uma ópera espacial. Ou apenas responda às perguntas.

  1. A partir do repositório no Sourcetree, clique em Mostrar no localizador.
  2. Abra o arquivo survey.html (ou qualquer tenha sido o nome escolhido) com um editor de texto.

  3. Faça as alterações, grandes ou pequenas, e então salve e feche o arquivo.

  4. Abra o Sourcetree e veja que o repositório tem Alterações sem commit.

  5. (Apenas no Git) Adicione o arquivo à área de Staging:

    1. Selecione a linha das Alterações sem commit.

    2. Na lista de Arquivos despreparados, coloque uma marca de verificação ao lado do arquivo survey.html (e de quaisquer outros arquivos com alterações sem commit).

    3. Na caixa de diálogo Confirmar preparação?, clique em OK.

  6. Clique em Commit na parte superior para dar commit no arquivo.

  7. Digite uma mensagem de commit no espaço disponibilizado, algo como Perguntas respondidas.

  8. Clique em Commit sob a caixa de mensagens. Quando você retornar para a visualização, vai ver que o arquivo recebeu commit, mas não foi transferido para o repositório do Bitbucket.

  9. No Sourcetree, clique em Transferir para transferir as alterações que receberam commit.

  10. Na caixa de diálogo que aparecer, clique em OK para transferir a ramificação com o commit para o Bitbucket.

  11. No Bitbucket, clique na página da Fonte do repositório. Você vai poder ver ambas as ramificações no modo de suspensão. Quaisquer outros commits que você der no minhas-atualizações também vão aparecer naquela ramificação.

Crie uma solicitação pull para mesclar a alteração

Para avisar os colegas sobre atualizações e receber a aprovação, o próximo passo é criar uma solicitação pull. Além de um lugar para revisões de código, uma solicitação pull mostra uma comparação das alterações em relação ao repositório original (também conhecido como um diff) e oferece uma forma simples de mesclar o código quando pronto.

Etapa 1. Crie a solicitação pull

Você precisa de uma ramificação para criar uma solicitação pull. Que bom que você já tem uma.

  1. A partir do repositório, clique em + na barra lateral global. Depois, clique em Criar solicitação pull sob Mãos à Obra.
    O Bitbucket vai exibir o formulário de solicitação.
  2. Preencha o formulário:
    1. Você já tem um Título automático, que é a última mensagem de commit.

    2. Adicione uma Descrição se quiser.

    3. No campo Revisores, adicione o membro da equipe breezycloud como revisor.

    Quando tiver terminado, o formulário vai ser mais ou menos assim:
  3. Clique em Criar a solicitação pull.

O Bitbucket vai abrir a solicitação pull, e o revisor vai receber uma notificação por e-mail com as informações a serem revisados.

Etapa 2. Mescle a solicitação pull

Calma lá! Você deve ter encontrado a ação Mesclar na parte superior. Antes de clicar nela, você precisa esperar pela aprovação das alterações. Além da notificação por e-mail que os colegas recebem, eles também vão ver a solicitação pull aparecer sob Solicitações pull a serem revisadas no painel Seu trabalho.

A partir da solicitação pull, o revisor pode visualizar o diff e adicionar comentários para iniciar um debate antes de clicar em Aprovar.

Quando alguém aprova a solicitação pull, você recebe uma notificação por e-mail. Assim que tiver as aprovações que precisa (neste caso apenas uma!), você pode mesclar. Na solicitação pull, clique em Mesclar. É isso! Se você quiser saber o resultado da mesclagem da ramificação com a ramificação principal, clique em Commits para ver a árvore de commits.