Categorias
Desenvolvimento

GIT – comandos básicos

O Git é um sistema de controle de versão distribuído, ele foi criado para verificar alterações no código fonte, no processo de desenvolvimento de software. Ele monitora um conjunto de arquivos, e checa se houve alguma modificação nestes arquivos. Se ocorrer alguma modificação nos arquivos, ele marca o arquivo para que as modificações possam ser registradas.

O GIT funciona em um esquema de linha do tempo, onde se tem uma linha do tempo principal, a partir desta linha do tempo pode ser criado outras linhas que são os ramos . Estes ramos devem retornar para a linha do tempo principal para que o fluxo continue. A imagem abaixo demonstra bem isso.

Na imagem acima a linha vermelha representa a linha do tempo principal. No GIT a linha do tempo principal é a branch master. As outras linhas verdes representam outras linhas do tempo, estas são outras branch que são criadas conforme o desenvolvimento de cada funcionalidade do projeto.

GIT na prática

Após vermos um pouco do GIT na teoria, vou abordar alguns comandos úteis do GIT que são utilizados no dia a dia do desenvolvimento de software. Abaixo uma lista com alguns comandos do GIT.

Lista de comandos GIT

Setar usuário: git config –global user.name “Anderson Irias”
Setar email: git config –global user.email contato@irias.com.br
Setar editor:git config –global core.editor vim
Setar ferramenta de merge: git config –global merge.tool vimdiff
Listar configurações:git config –list
Criar novo repositório: git init
Clonar um repositório:git clone https://github.com/andersonirias/api-http-rest.git
Verificar estado dos arquivos:git status
Adicionar arquivo/diretório (staged area): git add meu_arquivo.txt
Comitar um arquivo:git commit meu_arquivo.txt
Remover arquivo: git rm meu_arquivo.txt
Exibir histórico:git log
Desfazendo alteração local(Antes do commit): git checkout — meu_arquivo.txt
Desfazendo alteração local(Depois do commit): git reset HEAD meu_arquivo.txt
Desfazer o último commit:git reset HEAD~1
Enviar arquivos/diretórios para o repositório remoto: git push
Atualizar os arquivos no branch atual:git pull
Criando um novo branch:git branch minha_branch
Apagando um branch:git branch -d minha_branch
Trocando para um branch existente:git checkout minha_branch
Fazendo um merge entre as branchs: git merge minha_branch
Fazendo um rebase entre as branchs: git rebase master
Criar um stash: git stash
Listar stashes: git stash list
Voltar para o último stash:git stash apply

Exemplo de utilização do GIT

Existem vários modos de se utilizar o GIT, empresas podem ter processos diferentes no fluxo de trabalho com ele. Como exemplo, vou demonstrar aqui um fluxo básico de trabalho com o GIT.

Primeiro temos a branch master que é a branch principal, nesta branch fica todo o código que está em produção. Da branch master é criada somente uma branch de desenvolvimento, no início do projeto. Após isso nenhuma branch é criada a partir dela.

Temos a branch desenvolvimento, nesta branch fica o código que está sendo feito. E temos as branchs das funcionalidades, cada branch é referente a uma funcionalidade do sistema.

Na imagem abaixo temos a representação deste processo, a linha vermelha representa a branch master, a linha verde representa a branch desenvolvimento e as linhas rosas representam as branchs das funcionalidades.

Vou apresentar alguns pontos, para que seja possível deixar o gráfico do GIT igual ao apresentado acima.

1 – Para desenvolver novas funcionalidades, deve ser criado uma branch nova a partir da branch de desenvolvimento. As novas branchs devem sempre ser criadas da branch de desenvolvimento e não da master.

  • Crie a branch de desenvolvimento: git branch desenvolvimento
  • Acesse a branch de desenvolvimento: git checkout desenvolvimento
  • Crie a branch da funcionalidade: git branch nova-funcionalidade

2 – Após concluída a nova funcionalidade deve ser solicitado o merge, assim deve ser feito o merge da funcionalidade com a branch de desenvolvimento e não direto na master.

Realizar um merge

  • Acesse a branch para onde será feito o merge: git checkout desenvolvimento
  • Realize o merge: git merge –no-ff nova-funcionalidade
  • Verifique se está tudo correto: git log
  • Envie as alterações: git push

3 – Caso tenha sido iniciado uma branch após a branch que está sendo feito o merge, e está branch já foi feito o merge, deve ser feito o rebase para que a sequência fique organizada como a da imagem.

Realizar o rebase

  • Acesse a branch de onde será feito o rebase: git checkout nomedabranch (Geralmente a branch da funcionalidade)
  • Realize o rebase: git rebase nomedabranchdestino (Geralmente a branch de desenvolvimento)
  • Verifique se está tudo correto: git log
  • Envie as alterações: git push -f

Existem muitos comandos do GIT que não abordei aqui. Este artigo serve como introdução a ferramenta, para melhores informações sobre o GIT acesse o site: https://git-scm.com/ e tenha acesso a extensa documentação com exemplos.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *