Bem-vindo ao guia "Comandos Git para Iniciantes". Neste README.md, Você encontrá uma introdução aos conceitos básicos do Git, a ferramenta de controle de versão mais popular do mundo. Se você está começando sua jornada na área de desenvolvimento, este guia é feito para você. Aqui, você aprenderá como aplicar Git de maneira prática em seus futuros projetos, tornando seu fluxo de trabalho mais organizado e colaborativo.
Olá, meu nome é Fernando Luiz Farias Fontes. Atualmente, estou cursando Ciência da Computação na Universidade Estácio de Sá e faço parte do laboratório Fuzzylab-UVA, onde atuo como desenvolvedor back-end especializado em Django e REST Framework.
Desde cedo, sempre tive uma forte conexão com a tecnologia, mas foi após escrever meu primeiro "Hello World" que realmente me apaixonei por esta área tão incrível, que está presente no nosso dia a dia em todos os lugares. E estou aqui agora para passar um pouco do que eu sei sobre a ferramenta que é indispensável em qualquer projeto minimamente estruturado e organizado, que é o Git.
$ git config --global user.name "Seu Username"
$ git config --global user.email "Email da sua conta no github"
O comando git config
é usado para configurar variáveis de configuração do Git, e essas variáveis controlam o comportamento do Git em vários aspectos. As configurações user.name
e user.email
são utilizadas para identificar quem fez um commit dentro de um repositório, sendo informações importantes para atribuir autoria aos commits. Essas configurações são essenciais para garantir a integridade e a rastreabilidade do histórico de commits de um projeto Git.
$ git init
O git init
é um dos comandos mais fundamentais e importantes no Git. Ele é utilizado para criar um novo repositório Git em um diretório existente ou para inicializar um repositório vazio para começar a usar o controle de versão.
Quando o git init
é executado em um diretório, o Git cria um subdiretório oculto chamado .git, que contém todos os arquivos necessários para o repositório. Esses arquivos incluem o histórico de revisões, as configurações do repositório e outros metadados que o Git usa para rastrear as alterações no projeto.
$ git status
O comando git status
é utilizado para mostrar o estado de cada arquivo e pasta dentro do seu repositorio local. Os estados que você pode encontrar eles, são:
- Untracked: são arquivos que existem no repositorio local, mas o Git não está ciente deles. Isso geralmente acontece com novos arquivos que ainda não foram adicionados no controle de versão.
- Unmodified: são arquivos que existem no repositorio local e não foram editados ou modificados.
- Modified: são arquivos que foram modificados ou editados no seu repositorio local.
- Stage: são arquivos que foram adicionados ao índice e estão prontos para serem commitados.
Imagem retidada do site Oficial do Git
$ git add <arquivo>
$ git add .
O comando git add
é utilizado para adicionar arquivos ao índice, preparando-os para serem incluídos no próximo commit. Ele não apenas adiciona arquivos modificados, mas também arquivos untracked ao estado Staged.
$ git commit -m "Descreva a alteração"
Chegamos no sujeito mais balado do git, o git commit
. Esse comando é responsavel por levar as mudanças de um ambiente local para o repositório no git, permitindo a adição de uma mensagem que descreva o que foi alterado. Essa parte é de grande importancia para os
desenvolvedores, pois permite que eles documentem as alterações feitas no código, facilitando o entendimento do histórico de desenvolvimento do projeto e ajudando na colaboração em equipe.
Para aprendermos a escrever commits, precisamos primeiramente entender a padronização.
Um projeto com commits bem organizados é um projeto que documenta um histórico. Ele mostra o que foi feito ao longo do tempo, criando um registro detalhado. Então é necessário que tenha uma padronização como as coisas são entregues para que o código não fique uma bagunça e que todos se entendam.
- (feat): Incluir um novo recurso.
- (wip): Indica que você ainda não terminou o que estava fazendo.
- (fix): Uma correção de bug foi realizada.
- (refractor): melhorias no código sem alterar a funcionalidade, como na legibilidade.
- (test): você criou ou corrigiu um teste.
- (docs): alteração na documentação, por exemplo: eu adicionei mais informação a esse README.md, então meu commit seria:
$ git commit -m "(doc) explicação mais detalhada sobre git commit foi adicionada"
As Branches são ramificações no Git que permitem que os desenvolvedores desenvolvam recursos, corrija erros ou experimente com segurança novas ideias em uma área sepada do seu repositório.
Uma Branch é criada a partir de uma existe. Por exemplo, quando temos é branch-padrão, casualmente chamada de main ou master, e precisamos desenvolver o back-end separadamente do front-end então nos criamos branchs diferentes a partir de um ponto de começo e depois unindo-as com um merge na branch-padrão.
Segue exemplo de um sistema monolito, como Django:
$ git branch <NOME DA BRANCH>
$ git branch -m <NOME DA BRANCH>
$ git branch
$ git merge <NOME DA BRANCH>
$ git checkout -b <NOME DA BRANCH>
$ git checkout <NOME DA BRANCH>
Repositórios remotos são repositórios que ficam em um servidor remoto, como o GitHub. Suas principais funcionalidades são para armazenar e compartilhar o código com outras pessoas que colaboram no projeto.
$ git remote add origin <URL DO REPOSITORIO REMOTO>
$ git push --set-upstream origin master
Caso não exista uma branch-padrão, crie ela usando o código acima.
$ git push
OBS: Caso queria subir em outra branch digite somente
git push <NOME DA BRANCH>
.
Há uma diferença entre pull e fetch apesar dos dois atualizarem seu repositorio local.
- Fetch atualiza seu repositório local com as mudanças do repositório remoto, mas não modifica sua cópia de trabalho ou suas branches locais. Logo, não há chances de dar conflito.
- Pull atualiza as referências remotas e mescla as mudanças na branch atual, modificando sua cópia de trabalho. Logo, há chances de dar conflito.
$ git fetch
$ git pull
OBS: Caso queria subir em outra branch digite somente
git pull <NOME DA BRANCH>
.
É o comando mais simples da lista, aonde basta abrir um terminal em uma diretorio e simplemente digitar git clone
junto com o url do repositório que deseja possuir.
$ git clone <URL DO REPOSITORIO REMOTO>
15 COMANDOS GIT QUE VÃO TE AJUDAR A PROGRAMAR
How to Write Better Git Commit Messages – A Step-By-Step Guide