Desmitificando o Git e o Github — Parte 2

Thiago Paschoal
Reunião de Qa Sampa
7 min readMay 6, 2018

Bom agora que nós já adicionamos e salvamos os nossos arquivos, precisamos agora achar uma forma de enviar esses arquivos para um diretório remoto onde todos possam visualizar e fazer alterações. Como fazer isso? Bom a primeira coisa que vem a nossa mente, seria enviar esse arquivo por pendrive e leva este arquivo para o servidor remoto. Mas imagina que você esta trabalhando numa equipe com mais de 20 programadores e todos eles teriam que ficar fazendo o mesmo processo todo dia e toda hora.

Nossa isso seria bem trabalhoso, não acha? Bom felizmente o Git pode nos ajudar com isso. Mas para essa nova missão ele não vem sozinho. Neste novo artigo apresento a vocês o Github e como ele pode nos ajudar a resolver este problema.

Ah, se você ainda não leu o meu artigo "Desmitificando o Git e o Github — Parte 1” recomendo bastante a leitura deste para que você possa dar andamento ao seus estudos neste segundo artigo. Segue o link.

https://medium.com/qa-sampa-meeting/desmitificando-o-git-e-o-github-parte-1-8c95fb6484de

Bom sem mais delongas vamos começar.

Montando um repositório remoto no Github

Primeiramente, vamos criar o nosso repositório remoto. Adivinha onde vamos criar? Se você pensou no Github, parabéns você está correto!!! Mas como eu mexo nessa ferramenta? Ela é paga?

Bom, o Github nada mais é do que uma plataforma onde você pode hospedar o seu código onde todas as pessoas terão acesso a este, como também contribuir com outros projetos open-source. Nele é possível criar inúmeros repositórios desde que eles sejam abertos e visíveis a todos os usuários (Public). Também existe a opção paga caso você queria privar o seu código ou seja deixar ele visível apenas para pessoas do seu projeto ou da sua empresa. Para que nós possamos criar o nosso repositório no Github, precisamos estar logados nele.

Para isso basta acessar o Github basta digitar o seguinte endereço: https://github.com/.

Caso você não tenha conta é só preencher os campos “Username”, “Email” e “Password” e depois clicar no botão “Sign up for GitHub”. Agora se você já tem conta, basta clicar no link “Sign in”, localizado no canto superior direto da página.

Uma vez logado, basta clicar no botão New Repository localizado no canto direto da página, que permitirá a criação de um novo repositório.

Para fazer isso, vamos seguir este pequeno passo-a-passo.

  • Preencha os campos Repository Name e Description.
  • Vamos manter como Public a visibilidade do nosso projeto
  • Podemos ou não inicializar o nosso repositório já com o arquivo README.md. Este arquivo descreve as informações básicas do projeto, desde do que ele é até como usar. Neste caso não vamos marcar a opção Initialize this repository with a README.
  • Clique no botão Create repository.

Após ter clicado no botão Create repository você será redirecionado para uma tela parecida com esta

Agora copie a URI que aparece no topo da página, ao lado do botão SSH. Mantenha o botão HTTPS selecionado. No próximo capítulo vamos utilizar este link.

Configurando um repositório remoto no Git

Para que o Git enxergue o nosso repositório remoto, precisamos adicionar este repositório no Git. O próprio Github, segue uma convenção com relação à URI de seus repositórios, sendo a seguinte:

git remote add [alias_do_repositorio] https://github.com/[seu_nome_de_usuario]/[nome_do_repositorio].git

Mas o que significa cada comando/argumento passado? Bom primeiramente toda operação que envolve o git pela linha de comando, sempre começa com a palavra git. Depois como eu estou querendo trabalhar com um repositório remoto eu adiciono o comando remote. Em seguida como a operação que eu estou querendo fazer é de adicionar um novo repositório remoto ao meu projeto eu incluo também o comando add.

O terceiro argumento nada mais é do que um alias ou melhor um apelido para o seu repositório. Geralmente é usado sempre a palavra origin, mas poderia ser qualquer outro nome mas por convenção sempre adotamos este. E por fim a url do nosso projeto. No caso procure utilizar a https, porque caso você utilize a conexão ssh você perderia um tempo só pra configurar chaves de acesso entre outras coisas.

Como nós já temos nosso projeto criado e nosso repositório já iniciado, devemos executar no prompt apenas o comando abaixo:

git remote add origin https://github.com/thiagopaschoal/app.git

Depois de executado este comando, nenhuma mensagem deve aparecer no terminal. Feito isso cada desenvolvedor terá um repositório em sua máquina facilitando assim o trabalho de atualização dos arquivos, upload e downloads.

Enviando os meus commits para o repositório remoto

Depois de salvo os nossos arquivos, precisamos que as outras pessoas da nossa equipe enxerguem as nossas atualizações porém as minhas atualizações ainda estão só na minha máquina e eu tenho visualização apenas dos meus commits. Como eu posso resolver isso? Será que existe alguma forma ou comando para que eu possa enviar estes arquivos para o meu repositório remoto no Github. Sim, existe e podemos resolver isso através do comando abaixo

git push origin master

Este comando significa que todas as atualizações que eu realizar serão enviadas para a branch master (falaremos sobre branchs, no próximo artigo) no repositório remoto. Execute este comando no prompt e você deverá receber essa mensagem abaixo. Provavelmente antes disso você deverá informar o seu username e sua password do Github para autenticar mas fique tranquilo que isso é só primeira vez.

Depois de executado este comando, atualizei ou entre novamente no seu Github e verifique o seu projeto novamente.

Mais ferramentas e utilitários para usar no GitHub

Falando um pouco sobre algumas funcionalidades principais no Github, vou citar algumas que eu utilizo bastante no meu dia a dia como desenvolvedor.

Adicionando novos colaboradores no projeto

Bem, para que todos possam baixar o projeto do servidor remoto e fazer atualizações nele precisamos dar permissão de acesso ao projeto para os novos colaboradores. Como fazer isso?

Clique na aba Settings no canto superior direito da página abaixo da combo Unwatch

Para adicionar um novo colaborador clique no menu vertical esquerdo, no item Collaborators. Você será redirecionado para uma tela assim:

Para adicionar um novo colaborador ao projeto, preencha o campo com o usuário, email ou o nome completo do colaborador e clique no botão Add collaborator.

Feito isso você pode copiar ou cancelar o invite.

Deletando um repositório

Para deletar um repositório já criado, clique na opção do menu vertical Options e desça a página até o fim e irá se deparar com a área mais perigosa do Github, até eu tenho medo de mexer hahaha.

Para remover o repositório basta clicar no botão Delete this repository e preencher o campo com o nome do repositório a ser deletado e clicar no botão I understand the consequences , delete this repository.

Integração Contínua e outros serviços

Caraka, já não basta o monte de funcionalidades que o Github possui e eu ainda posso integrar ele com o Jenkins, Docker, AWS entre outros apps para Integração Contínua. Cara isso é demais!!

Para usar este serviço basta clicar item do menu vertical Integration & services e escolher a categoria de apps desejada.

Note que neste caso eu estou procurando apps para utilizar em conjunto com Jenkins.

Outras plataformas de hospedagem

Não existe apenas o GitHub como plataformas de hospedagem para projetos. Podemos usar outras alternativas como o GitLab e o Bitbucket. Tem um artigo muito legal aqui no medium falando sobre isso:

https://medium.com/flow-ci/github-vs-bitbucket-vs-gitlab-vs-coding-7cf2b43888a1

Fico por dentro, do que vem por aí

Neste artigo abordamos desde como é processo de criação de um repositório remoto no Github até os comandos para enviar as atualizações feitas na minha máquina e também algumas. No próximo artigo abordaremos questões de como baixar atualizações e um pouco sobre branches e merges.

Caso queira se aprofundar no assunto, no site do próprio Git (no item de Documentation) tem uma documentação bem legal sobre o assunto. Lá você irá encontrar muitas dicas e boas práticas para commits, branches entre outras funcionalidades.

Aproveitando, não deixe de acompanhar o medium do QASampa. Nossos moderadores estão sempre postando artigos bem legais e de conteúdo atualizado.

Siga o QA Sampa Meeting!

--

--

Thiago Paschoal
Reunião de Qa Sampa

Systems Analyst at Inmetrics with focus in DevOps. I like technology, programming and write articles to helpful others people. Twitter: @ThiagoPaschoal3