Neste repositório estou compartilhando algumas anotações para a consulta sobre os principais comandos do GIT.
Git é um sistema de versionamento de código que guarda os registros de versão como estado do projeto, além da referência para os registros
1. Unmodified: Arquivo já está mapeado pelo GIT, ou seja, já passou pelo staged e já foi "commitado". Todas as alterações foram salvas;
2. Modified: Arquivos que foram modificados;
3. Staged: Área preparatória para realizar o commit;
4. Untracked: Estado inicial, ou seja, o git ainda não conhece nenhuma versão da existência do arquivo;
⭐ git init
: Inicia um repositório GIT;
⭐ git config --global user.name "Nome"
: Configurando o nome do usuário;
⭐ git config --global user.email "name@gmail.com"
: Configurando o email do usuário;
⭐ git clone
: Clonar repositório GIT.
⭐ git status
: Exibe informações sobre o status, por exemplo, qual a branch atual, se a branch está atualizada em relação ao repositório remoto, mostra qual arquivo foi modificado e se há mudanças para ser commitadas;
⭐ git diff
: Exibe as linhas de código modificadas;
git diff --staged
: Exibe as linhas de código modificadas dos arquivos em staged.
⭐ git add
: Adiciona as modificações para a área staged;
-
git add .
: Adiciona todos os aquivos; -
git add nome_arquivo
: Adiciona apenas o arquivo passado.
⭐ git commit -m "mensagem"
: Commit das alterações para salvar o estado do projeto;
⭐ git log
: Exibe um histórico dos últimos commits;
-
git log --author:"Andressa"
: Exibe um histórico dos últimos commits desse autor; -
git log --graph
: Exibe um histórico dos últimos commits de forma gráfica;
⭐ git remote
: Verificar as informações do respositório remoto;
⭐ git remote add origin git@github.com:andressagomesm26/git-commands.git
: Adicionar um repositório remoto (origin) à configuração do repositório git local.
⭐ git push
: Enviar commits locais para um repositório remoto;
⭐ git push origin master
: Enviar as alterações para a branch master do repositório remoto origin;
- origin: Repositório remoto;
- master: Branch;
git push --set-upstream origin master
: O--set-upstream
ou-u
indica que está sendo configurando o branch local atual (por exemplo, "main" ou "master") para rastrear o branch "master" no repositório remoto (origin). Isso significa que, no futuro, ao usar o git push, o Git saberá para onde enviar as atualizações sem a necessidade de especificar origin master.
⭐ git pull
: Trazer as alterações do repositório remoto fazendo um merge no repositório local;
⭐ git fetch
: Verificar quais alterações serão feitas ao usar o git pull
;
git diff origin/master
: Verificar as alterações no repositório origin e branch master.
⭐ git branch
: Verificar as branchs que existem e qual a branch atual;
⭐ git branch -a
: Listar todas as branches disponíveis, incluindo as remotas
⭐ git branch name_branch
: Criar uma nova branch;
⭐ git log --oneline --decorate
: Indica para onde o head está apontando;
⭐ git checkout name_branch2
: Ir para uma nova branch;
⭐ git checkout -b name_branch3
: Criar uma nova branch e já ir para ela;
⭐ git branch -D name_branch
: Apagar uma branch.
⭐ git merge development
: Faz o merge das alterações existentes na branch 'development' com a branch atual 'master';
⭐ git restore .\README.md
: Remover as modificações de um arquivo;
git restore --staged .\README.md
: Remover as modificações de um arquivo da área de staged (ou seja, após o git add) para modified;
⭐ git reset HEAD .\README.md
: Remover um arquivo modificado da área de staged;
git reset --soft HEAD
: Volta um arquivo para área de staged após ele ser commitado, deixando-as prontas para serem incluídas no próximo commit;git reset --mixed HEAD
: Volta um arquivo para área de modified após ele ser commitado;git reset --hard HEAD
: Ignora a existência do commit
O Git Flow é um modelo ou um fluxo de trabalho muito utilizado por equipes de desenvolvimento de software. É recomendado para projetos que utilizam versionamento semântico ou que precisam oferecer suporte a várias versões de seu software.
O Git Flow trabalha com duas branches principais, a Develop e a Master e três branches de suporte, Feature, Release e Hotfix, que são temporários e duram até realizar o merge com as branches principais. É ideal que todos os commits na branch Master sejam marcados com um número de versão.
📌 Master: Onde temos todo o código de produção;
📌 Develop: Onde fica o código do próximo deploy. Possui funcionalidades que ainda não foram publicadas e que posteriormente vão ser associadas com a branch Master.
📌 Feature: São branches utilizadas para o desenvolvimento de funcionalidades específicas. É recomendável que essas branches sigam uma convenção de nome, por exemplo, “feature/desenvolvimento-forum”. Essas features branches são criadas sempre a partir da branch Develop.
📌 Hotflix: É uma branch criada a partir da master para realizar correções imediatas encontradas no sistema em produção.
📌 Release: A Branch Release serve como ponte para fazer o merge da Develop para a Master. Ela funciona como ambiente de homologação e é removida após realizar os testes do merge com a Master. Caso seja encontrado algum bug e haja alguma alteração, ela também deve ser sincronizada com a Develop.
⭐ git flow init
: Inicia o git flow;
⭐ git flow feature start name_feature
: Cria uma nova branch feature => 'feature/name_feature';
⭐ git flow feature finish name_feature
: Finaliza a branch feature fazendo um merge com a develop;
⭐ git flow release start 1.0
: Cria uma nova branch release => 'release/1.0';
⭐ git flow release finish 1.0
: Finaliza a branch release. Atualiza a master e develop e cria uma tag;
⭐ git flow hotfix start 1.1
: Cria uma nova branch hotfix a partir da master => 'hotflix/1.1';
⭐ git flow hotfix finish name_hotfix
: Finaliza a branch hotfix. Atualiza a develop e cria uma tag.
✅ Git e Github para iniciantes
✅ Git Flow: entenda o que é, como e quando utilizar
✅ Trabalhando em equipe com Git Flow
- Andressa Gomes Moreira - andressagomesm26@gmail.com