Guia Completo do Git para Desenvolvedores: Dominando o Controle de Versão
Por Priscyla Santos emAtualizado em
No mundo do desenvolvimento de software, o Git é uma ferramenta indispensável para controle de versão e colaboração. Como desenvolvedora, utilizo o Git diariamente para gerenciar projetos com eficiência. Este artigo é um guia prático, desmistificando comandos essenciais do Git para desenvolvedores de todos os níveis.
Criando um Repositório
Do zero - Criar um novo repositório local:
$ git init [nome_do_projeto]
Para começar um novo projeto, utilize o comando git init
. Isso cria um novo repositório Git em um diretório vazio. Exemplo:
$ git init meu_projeto
Isso inicializa um repositório vazio no diretório "meu_projeto".
Baixar de um repositório existente:
$ git clone [url_do_repositório]
Para obter uma cópia de um projeto já existente, use git clone
seguido da URL do repositório:
$ git clone https://github.com/usuario/projeto.git
Isso cria uma cópia completa do repositório em seu sistema local.
Observando Seu Repositório
Listar novos arquivos ou arquivos modificados ainda não comitados:
$ git status
O comando git status
é usado para verificar o status do repositório. Ele mostra quais arquivos foram modificados e quais estão prontos para serem comitados.
Mostrar as mudanças em arquivos que ainda não foram 'stageados':
$ git diff
Para ver as mudanças realizadas em arquivos antes de prepará-los para o commit, utilize git diff
. Este comando mostra as diferenças entre seu diretório de trabalho e a área de staging.
Mostrar as mudanças em arquivos 'stageados':
$ git diff --cached
Depois de usar git add
, você pode ver as mudanças preparadas para commit com git diff --cached
.
Mostrar todas as mudanças (stageadas e não stageadas):
$ git diff HEAD
Para visualizar todas as alterações no seu repositório, tanto as preparadas quanto as não preparadas para commit, use git diff HEAD
.
Mostrar diferenças entre dois commits:
$ git diff commit1 commit2
Se precisar comparar dois commits específicos, git diff commit1 commit2
mostra as diferenças entre eles.
Listar alterações e autores para um arquivo:
$ git blame [arquivo]
Quer saber quem fez o quê em um arquivo? git blame
mostra o autor de cada linha de um arquivo, útil para rastrear mudanças.
Mostrar as mudanças de um commit para um arquivo específico:
$ git show [commit]:[arquivo]
Para ver as alterações de um commit específico em um arquivo, use git show
.
Mostrar o histórico completo de commits:
$ git log
O comando git log
exibe o histórico de commits do repositório, incluindo mensagens de commit, autores e datas.
Mostrar o histórico de mudanças para um arquivo ou diretório específico, incluindo diffs:
$ git log -p [arquivo/diretório]
Para um histórico detalhado com diferenças incluídas, use git log -p
.
Trabalhando com Branches
Listar todas as branches locais:
$ git branch
Para ver todas as branches locais do seu repositório, git branch
lista elas.
Listar todas as branches, locais e remotas:
$ git branch -av
Para uma visão completa de todas as branches, locais e remotas, use git branch -av
.
Alternar para uma branch e atualizar o diretório de trabalho:
$ git checkout [nome_da_branch]
Para mudar de branch, use git checkout
seguido do nome da branch desejada.
Criar uma nova branch:
$ git branch [nova_branch]
Crie uma nova branch com git branch
, útil para iniciar novos recursos ou correções.
Deletar uma branch:
$ git branch -d [branch]
Para remover uma branch que não é mais necessária, utilize git branch -d
.
Mesclar uma branch em outra:
$ git checkout [branch_b]
$ git merge [branch_a]
Para mesclar mudanças de uma branch em outra, primeiro faça checkout da branch de destino, depois use git merge
.
Taguear o commit atual:
$ git tag [nome_da_tag]
Para marcar um ponto específico na história do seu repositório, como uma versão lançada, use git tag
.
Fazendo Mudanças
Preparar o arquivo para commit:
$ git add [arquivo]
Para preparar um arquivo para commit, use git add
.
Preparar todos os arquivos modificados para commit:
$ git add .
Para preparar todos os arquivos modificados no diretório atual, utilize git add .
.
Comitar todas as alterações 'stageadas' com uma mensagem:
$ git commit -m "mensagem do commit"
Para salvar suas alterações no histórico de commits, use git commit
com uma mensagem descritiva.
Comitar todas as alterações 'tracked' com uma mensagem:
$ git commit -am "mensagem do commit"
Para preparar e comitar todas as alterações em um único comando, use git commit -am
.
Desfazer o 'stage' de um arquivo, mantendo as alterações:
$ git reset [arquivo]
Se você preparou um arquivo por engano, git reset
remove-o da área de staging, mantendo as mudanças no diretório de trabalho.
Reverter tudo para o último commit:
$ git reset --hard
Para desfazer todas as mudanças e retornar ao estado do último commit, use git reset --hard
.
Sincronização
Obter as últimas mudanças da origem (sem mescla):
$ git fetch
Para atualizar seu repositório local com as mudanças do repositório remoto, use git fetch
.
Obter as últimas mudanças da origem e mesclar:
$ git pull
Para buscar e mesclar as mudanças do repositório remoto em sua branch atual, use git pull
.
Obter as últimas mudanças da origem e rebasear:
$ git pull --rebase
Para buscar as últimas mudanças e rebasear sua branch atual, use git pull --rebase
.
Enviar as mudanças locais para a origem:
$ git push
Para enviar suas mudanças locais para o repositório remoto, use git push
.
Conclusão
Dominar o Git é essencial para qualquer desenvolvedor. Com este guia, você está equipado para gerenciar seu código de forma eficiente e colaborar melhor com sua equipe. Para mais informações, consulte a documentação oficial do Git ou participe de treinamentos disponíveis no GitHub Training.
Quando estiver em dúvida, lembre-se de que a ajuda está sempre à mão:
$ git command --help
Vamos melhorar nosso fluxo de trabalho e elevar a qualidade dos nossos projetos com Git! 🚀