Git e Github — Por que e como usar? — Parte 2

Mauricio Fernandes
8 min readFeb 22, 2019

--

Trabalhando com o Github

Na primeira parte aprendemos oque é o git e github, em que situação é interessante usarmos e aprendemos como trabalhar com o git.

Agora na continuação vamos aprender como trabalhar utilizando o git em conjunto como github

Hospedando nossos projetos no GitHub

image credit : github

Já temos uma conta no Github, sendo assim, vamos ter que criar um novo repositório no Github que será onde iremos hospedar nosso projeto

Após realizar o Login em sua conta, no site do github mesmo procure o botão “New repository

Na nova tela que se abrir vamos dar um nome ao nosso repository, iremos chamar de “Meu primeiro projeto GitHub” e podemos clicar no botão “Create repository

Pronto repositório criado !!!

agora vamos conectar o nosso repositório local, com o nosso repositório do github que acabamos de criar e podemos fazer isso através de um comando git.
Então abra seu terminal novamente ou seu git-bash, entre na pasta onde está o “OlaMundo” e digite o comando a seguir

git remote add origin <url do seu repositorio no git>

Legal !! Dessa forma nosso repositório local foi conectado ao nosso no github

Então vamos enviar nossos arquivos para o github, através do seguinte comando

git push origin master

o git irá pedir seu usuário e sua senha do Github, após digitar irá começar o upload

Sucesso !!! nosso arquivo está hospedado no GitHub !!!

Agora quando precisar baixar seu projeto basta ir no github clicar em “Clone or download”

Copiar a URL que aparecer, através do terminal ou git-bash, entrar em um pasta desejada e digitar o comando

git clone <url>

Dessa forma o git irá fazer o download do projeto para o seu computador, esse comando pode ser utilizado tanto nos seus repositórios, quanto nos repositórios públicos de outras pessoas

Trabalhando com Branchs

image credit: moziru

Uma outra funcionalidade interessante do git são os ramos “Branchs”

Branchs, são como ambientes de desenvolvimento diferentes, para o mesmo projeto ou arquivo.

Por padrão no git temos uma unica branch chamada master

Master é por padrão a branch principal, dentro dela sempre deve estar o ultimo conteudo confiável do projeto ou arquivo, pois uma vez na master, essas alterações podem ser disponibilizadas ao publico a qualquer momento

É uma boa pratica criar uma nova branch, sempre que trabalharmos em uma nova atividade dentro do projeto , comitar todas as novas versões dentro dessa nova branch e ao final da atividade, realizar um pedido para adicionar as novas alterações dessa branch na master, esse pedido passará por uma revisão e só após a revisão, poderemos adicionar nossas alterações a master.

image credits : github

Pode parecer complicado, mas verá que na verdade é bem simples

Até o momento, todas as alterações que realizamos no OlaMundo foram feitas diretamente na master, o que é uma péssima pratica.
Por exemplo caso você e um amigo estivessem trabalhando no OlaMundo, você assim como foi feito deveria escrever “Olá mundo” no conteúdo do arquivo e seu amigo na linha de baixo deveria escrever o conteúdo do arquivo em inglês, mas imagine que você cometeu um erro e escreveu “Cola mundo” e comitou a alteração na master…

Por estar na master esse erro poderá ser disponibilizado ao publico a qualquer momento e como se isso já não fosse ruim, quando seu amigo realizar a parte dele e passar o conteúdo da master para inglês, ele irá passar “Cola mundo” e teremos “Glue World” no lugar de um “Hello World”.

No fluxo correto esses erros deveriam ser pegos nas revisão antes de irem parar na master, um exemplo bem simples, mas nos mostra como devemos ser cautelosos com o conteúdo da master, pois alem de nos prejudicarmos podemos prejudicar o trabalho de outros.

Sendo assim vamos fazer direito de primeira, para fazer menos vezes.
Vamos lá !

Dessa vez vamos adicionar um “Hello World” uma linha abaixo no arquivo OlaMundo, mas para não comitar na master, antes vamos criar uma nova branch.

git branch <name>

Para criar nossa branch devemos dar um nome ela, vamos chama-la de “adiciona-hello-world” o comando deverá ficar assim git branch adiciona-hello-world

Agora vamos verificar nossas branchs ativas através do comando

git branch

vamos receber uma resposta assim

Legal, branch foi criada com sucesso, mas repare que há um asterisco na master, significa que ainda estamos utilizando a master, então vamos alterar para nossa nova branch utilizando o comando

git checkout <name>

através do git checkout podemos escolher qual branch queremos trabalhar, nesse caso queremos trabalhar na branch “adiciona-hello-world”, então o comando ficará assim git checkout adiciona-hello-world

já recebemos de que agora estamos na branch “adiciona-hello-world”, próxima vez que utilizar o comando git branch o asterisco estará nessa branch

Mas tem muitos passos para uma simples tarefa…
temos que criar a branch, verificar se foi criado e alterar para a branch certa
Então vamos simplificar !!! podemos fazer isso tudo com esse único comando

git checkout -b <name>

Dessa forma se utilizarmos o comando git checkout -b adiciona-hello-world então estaremos criando uma nova branch e alterando para ela de uma vez, mais simples, não?

Continuando, vamos agora realizar nossas alterações, finalmente adicione “Hello World” na linha abaixo no arquivo OlaMundo

Salve o arquivo e vamos criar uma nova versão assim como das ultimas vezes

git status
git add .
git commit -m "Adiciona hello world ao arquivo ola mundo"

Sucesso, enviamos as alterações para nossa branch, agora podemos enviar as informações salvas na branch para o Github

Até o momento só utilizamos o github com nossa branch master através do comandogit push origin master significa que estamos enviando nossas alterações de nosso repositório de origem, para a master no Github, como dessa vez queremos utilizar nossa nova branch o comando ficará assim

git push origin adiciona-hello-world

irá pedir seu usuário e sua senha do github, após isso teremos uma resposta parecida com essa

Parabéns, conseguimos hospedar o nosso código no github em nossa própria branch
Nesse momento se entrar no Github em nosso repositório, poderemos ver que temos 2 branchs

Ótimo, agora nossa atividade está terminada e já podemos adicionar essas alterações a master sem culpa e podemos fazer isso através de um pull-request

Pull Request é uma “Requisição de empurrão”, através dele pedimos para fundir o conteudo de uma branch com outra

novamente na tela no nosso repositório do github, na opção branchs

clicamos na opção “New Pull request” ao lado da nossa branch
Seremos direcionados a uma tela comparando o conteúdo de uma branch a outra e nós dando a opção de alterar o nome do pull request e adicionar uma descrição.
No momento apenas ignore as opções e e clique no botão “create pull request”

pagina do pull request

Na tela que aparecer o github irá verificar nossas duas branchs e nos avisar caso haja algum conflito entre as duas, para podermos corrigir, caso contrario nos dará permissão para fundir “merge” as duas branchs é nesse momento que temos as revisão “Code review”

O Code review é uma boa pratica no desenvolvimento de software, ao criar um pull request enviamos a URL para outros desenvolvedores, para que realizem uma revisão, se estiver tudo certo eles aprovam o pull request, caso contrario eles realizam um comentário em uma parte do código para ser corrigido, podendo só realizar o merge quando o pull request tiver um certo numero de aprovações, que é determinado pela equipe.
Essa prática ajuda a evitar bugs e outras más praticas de desenvolvimento

Vamos imaginar que já recebemos o numero necessário de aprovações e vamos clicar em “merge pull request” em seguida confirme

Sucesso !!! Parabéns suas alterações foram enviadas para a master, e como não precisamos mais da branch “adiciona-hello-world” podemos deletar na mesma tela, através do botão “Delete branch

Agora por ultimo, vamos voltar para a master através do comando git checkout master e vamos dar uma olhada no nosso arquivo OlaMundo

Estranho, ao voltar para a master o nosso arquivo não está com o hello world, isso não parece bom, será um erro?
Não se preocupe, isso acontece por que ainda não atualizamos nossa master local depois do merge, então ela ainda está desatualizada, mas podemos atualizar facilmente através do comando abaixo

git pull origin master

dessa forma, estamos atualizando nosso repositório local com o conteúdo da nossa master, se quisermos o conteúdo de outra branch basta alterar de “master” para o nome da outra branch

É recomendado sempre deixar sua branch atualizada, caso outra pessoa realize uma alteração na master e você não atualizar, isso irá gerar vários conflitos quando tentar mergear suas alterações com a master, pois haverá informações na master que não estarão na sua.

Conclusão

Parabéns, Agora já podemos utilizar o git e subir nossos arquivos no github , não teremos mais problemas de perder arquivos, ou de trabalhar com outra pessoa em um mesmo arquivo ou projeto, de fato ainda a muito para se aprender, problemas para enfrentar, mas com nosso conhecimento atual, já podemos caminhar nossos próprios passos, desejo boa sorte a todos e espero ter ajudado

Até a próxima

--

--