Entendendo o Git
Comandos Básicos
1. Git Clone
O que é?
O comando git clone é utilizado para criar uma cópia local de um repositório remoto.
Sintaxe
git clone [URL do repositório]
Exemplo
git clone https://github.com/usuario/repo.git
Resultado
- Cria uma pasta com o nome do repositório e baixa todos os arquivos e o histórico de commits.
2. Git Checkout
O que é?
O comando git checkout é usado para mudar de branch ou restaurar arquivos.
Sintaxe
git checkout [nome da branch]
Criando uma nova branch
Para criar e mudar para uma nova branch ao mesmo tempo, use:
git checkout -b [nome da nova branch]
Exemplo
git checkout -b nova-feature
3. Git Pull
O que é?
O comando git pull é utilizado para atualizar seu repositório local com as alterações do repositório remoto.
Sintaxe
git pull
Exemplo
git pull origin main
Resultado
- Baixa e mescla as alterações do repositório remoto na branch atual.
4. Git Add
O que é?
O comando git add é usado para adicionar alterações ao índice (staging area) antes de um commit.
Sintaxe
- Para adicionar todos os arquivos:
git add . - Para adicionar arquivos específicos:
git add [nome do arquivo]
Exemplo
git add arquivo1.txt
5. Git Commit
O que é?
O comando git commit é utilizado para salvar as alterações no repositório local.
Sintaxe
git commit
Variações
- Para adicionar todas as alterações e fazer o commit:
git commit -a - Para fazer um commit com uma mensagem:
git commit -m "Mensagem do commit"
Exemplo
git commit -m "Adiciona nova funcionalidade"
6. Usando o Vim para Commit
O que é?
Se você usar apenas git commit, o editor Vim será aberto para editar a mensagem de commit.
Como usar o Vim
- Entrar em modo de edição:
- Pressione
ipara entrar em modo de inserção. - Salvar e sair:
- Pressione
Esc, digite:xe pressioneEnter.
Dica
- Usar
-mevita a abertura do Vim e permite que você digite a mensagem diretamente.
7. Git Merge
O que é?
O comando git merge é usado para combinar alterações de diferentes branches.
Sintaxe
git merge [nome da branch]
Exemplo
- Mude para a branch onde deseja mesclar as alterações:
git checkout main - Execute o merge:
git merge nova-feature
Resultado
- As alterações da branch especificada serão mescladas na branch atual.
8. Git Reset
O que é?
O comando git reset é utilizado para desfazer alterações na staging area e, opcionalmente, nos commits.
Variações
git reset: Remove as alterações da staging area, mas mantém as mudanças na sua cópia local.
Uso:
git reset
git reset --soft [commit]: Move o HEAD para o commit especificado e mantém as alterações na staging area, permitindo que você faça um novo commit.
Uso:
git reset --soft HEAD~1
git reset --hard [commit]: Move o HEAD e descarta todas as alterações na staging area e na working directory, removendo permanentemente as alterações não confirmadas.
Uso:
git reset --hard HEAD~1
9. O que é o HEAD no Git?
O HEAD é um ponteiro especial no Git que aponta para o commit mais recente na branch atual em que você está trabalhando. Em outras palavras, ele representa o estado mais recente do seu repositório local na branch ativa.
Funções do HEAD
-
Identificação da Branch Ativa: O HEAD indica qual branch você está atualmente utilizando. Quando você faz um checkout em uma nova branch, o HEAD é atualizado para apontar para o último commit dessa nova branch.
-
Registro do Último Commit: O HEAD aponta para o último commit na branch ativa, permitindo que você faça operações como
git commit,git mergeegit resetbaseadas no estado atual. -
Referência para Navegação: O HEAD também pode ser usado para navegar entre commits. Por exemplo, você pode referenciar o commit anterior usando
HEAD~1, ou o commit mais recente em uma branch diferente.
Importância do HEAD
O HEAD é fundamental para o funcionamento do Git, pois ele ajuda a manter o controle do fluxo de trabalho e das alterações no repositório. Entender como o HEAD opera é essencial para manipular branches e commits de forma eficaz.
10. Resumo dos Comandos
| Comando | Descrição |
|---|---|
git clone |
Clona repositório remoto para local |
git checkout |
Muda de branch ou restaura arquivos |
git pull |
Atualiza branch local com alterações remotas |
git add . |
Adiciona todas as alterações ao staging |
git commit -m "msg" |
Salva alterações com mensagem de commit |
git merge |
Mescla alterações de outra branch |
git reset |
Remove alterações da staging area |
git reset --soft |
Move HEAD e mantém alterações na staging area |
git reset --hard |
Move HEAD e descarta todas as alterações |
Dicas Finais
- Sempre faça
git pullantes de começar a trabalhar em novas funcionalidades. - Use mensagens de commit claras e descritivas para manter um histórico organizado.
- Pratique os comandos frequentemente para se familiarizar com o fluxo de trabalho do Git.
Git no VS Code (Visual Studio Code)
O VS Code possui uma ferramenta nativa para se trabalhar com Git. Apesar de ser importante entender os fundamentos e como ele funciona pela linha de comando, a forma gráfica do VS Code e de outras IDEs pode aumentar a sua produtividade.