DEV Community

Pedro Vitorino
Pedro Vitorino

Posted on

GIT - O mínimo que você precisa saber para trabalhar em equipe (Parte 2)

Esta é uma série de dois artigos que explica o básico sobre Git. No primeiro artigo é apresentado alguns termos e conceitos básicos. No segundo será feito uma apresentação dos principais comandos de Git utilizados no dia a dia de um programador.

Clique aqui para ler a parte 1, explicando os principais conceitos de git.

Git na prática: comandos

Nesta seção vamos para a parte prática de Git. Aqui irei listar alguns dos comandos mais utilizados no dia a dia de um programador.

Git init

Para começar a trabalhar com git você precisa inicializar um diretório git na sua máquina local, para isso é necessário executar o comando

$ git init

. Este comando irá criar a estrutura git dentro do diretório em que foi executado.

Git clone

Na maioria das vezes você irá começar a trabalhar com os arquivos de um repositório já existente. Para copiar os arquivos do servidor remoto para sua máquina local execute o comando

$ git clone https://usuario:senha@enderecoRemoto.com/repositorio.git

Git checkout: navegando entre branches

Git checkout é o comando utilizado para mudar a branch em que você está trabalhando. Uma rotina comum no dia-a-dia de um programador é criar uma nova branch para trabalhar em um determinada funcionalidade, utilizar o comando fetch para busca-lá da origem e então usar o comando

$ git checkout nome-da-branch

para começar a trabalhar na sua nova branch.

Git fetch

Este é um comando muito utilizado mas que por vezes as pessoas não entendem sua função. O comando git fetch traz do repositório remoto todas informações que ainda não estão no seu repositório local. Um detalhe muito importante, o comando git fetch NÃO incorpora essas mudanças ao seu repositório local, ele apenas identifica elas.
Quando você cria branches diretamente no servidor remoto é necessário que você execute o comando git fetch para ter acesso à esses branches localmente.
Normalmente é necessário apenas executá-lo como

$ git fetch

Git pull: buscando alterações remotas

Após o git fetch, caso haja alterações no repositório remoto, você precisa aplica-las ao seu repositório local. O comando utilizado para essa operação é o

$ git pull

.
Quando você realiza um pull, as alterações de código que estão na branch no repositório remoto serão baixadas. Caso o git não consiga fazer a junção automática dessas alteraçãos com o seu códiogo, as seções do código onde existem conflitos serão destacadas e você precisará juntar os código manualmente, indicando se vai utilizar as alterações que vieram da origem, as suas alterações locais ou as duas.
Muitos desenvolvedores acham o processo de merge traumático, então muita calma na hora de realizar um pull. Se houver conflitos, não se desespere, faça o merge e lembre-se, os pulls são reversíveis. Caso algo aconteça algum problema seu código não está perdido, é sempre possível voltar no commit anterior ao pull.

Git add

Para fazer um commit e salvar aquele snapshot do seu trabalho é necessário antes adicionar suas alterações na staging area. Este é um local de trabalho onde você pode colocar os arquivos que realmente deseja adicionar ao seu commit, assim você pode particionar melhor seu trabalho e organizar melhor seus commits. Para adicionar todos os arquivos alterados e novos arquivos na staging area use o comando

$ git add .

, caso queira adicionar arquivos específicos utilize o comando

$ git add nome-do-arquivo.txt nome-do-arquivo2.txt

.
Um detalhe muito importante, caso você deseja adicionar na staging area as alterações e novos arquivos, e as deleções que realizou você deve utilizar o comando

$ git add -A

.

Git commit: salvando um snapshot

Falamos dos commits mais cedo no nosso artigo. Na prática para se realizar um commit é necessário que você tenha arquivos na sua staging area. Uma vez que os arquivos estão lá basta você utilizar o comando

$ git commit

para registrar uma “foto” do seu código. Uma vez que você executa este comando é gerado um commit com um código identificador único, você pode utilizar o comando git checkout com o código gerado para voltar naquele snapshot do seu programa.

Git push: fazendo o upload

Uma vez que você fez alterações no seu código e criou seus commits você precisa que os outros desenvolvedores tenham acesso a essas alterações. Lembre que até o momento tudo o que você desenvolveu está na cópia do repositório na sua máquina local.
Para que você envie suas alterações para a origem você precisa antes o git pull que mencionamos anteriormente.

Você realizou seu pull, agora sua branch está alinhada com a branch na origem e você finalmente pode fazer upload das suas alterações. Para fazer esse upload use o comando

$ git push origin nome-da-branch

.

Git merge: finalizando seu trabalho

Uma vez que você finalizou seu trabalho você precisa fazer a junção de sua branch com a branch de origem para que suas alterações sejam incluídas no projeto. Um dos possíveis comandos para realizar essa junção é o git merge. Para utiliza-lo digite

$ git merge origin/branch-de-origem

. Este como irá buscar as alterações da branch principal do seu projeto e aplica-las a sua branch. Após resolver os conflitos, faça o commit e depois push para a origem.
Finalizado esse processo, você agora pode abrir uma Pull Request para juntar todo seu trabalho à branch principal.

Git stash

Um grande diferencial do git como tecnologia de versionamento é a existência da área de stash. Essa é uma ferramenta muito poderosa mas que poucos desenvolvedores fazem uso.
Por vezes é possível que você comece a desenvolver uma nova atividade em uma branch e depois de algumas dezenas de linhas de código você percebe que está trabalhando na branch errada.
Para contornar esse tipo de situação você pode fazer uso da stash, que é uma área lógica do git na qual é possível salvar alterações que você ainda não deseja commitar.
Utilize o comando

$ git stash

para adicionar as alterações que você fez na área de stash. A partir de então você pode aplicar aquelas alterações em qualquer branch que você quiser fazendo um checkout para a branch na qual você deseja trabalhar e utilizando o comando

$ git stash pop

.

Conclusões

Enfim, estes são os conceitos e comandos básicos para que você comece a trabalhar em uma equipe de desenvolvedores. Utilize essa tecnologia e treine bastante os comandos que aprendeu aqui. Acima de tudo, não se esqueça de fazer commits frequentes para ter seu trabalho salvo sempre.

Referências

Latest comments (0)