Comandos GIT
Configurações iniciais do cliente de git
Defina seu nome de usuário e e-mail.
git config user.name "<seuNome>"
git config --global user.email "<seu@email.com>"
Inicializar um repositório de maneira local
Permite que se inicialize o diretório atual como um repositório git.
git init
Adicionar um repositório remoto
Uma vez que o caminho local seja um repositório git inicializado, é possível adicionar os caminhos para o repositório remoto.
git remote add <origin> <url>
Onde:
- origin = pode ser modificado para qualquer nome desejado, sendo o padrão a palavra origin;
- url = é obtida do repositório git em sites como GitHub, BitBucket e GitLab.
Adicionar um segundo repositório remoto
É possível que um repositório local tenha mais de um repositório remoto, para isso basta adicionar um novo:
git remote set-url origin --push --add <url>
Listagem dos repositórios remotos
git remote
Listagem detalhada
git remote -v
Adicionar um arquivo ao staged
Staged é a fila de arquivos a ser commitada.
git add <nomeDoArquivo>
OBS: Utilize *
como nomeDoArquivo para adicionar todos os arquivos.
Realizar um commit (da fila staged)
git commit -m "<comentário>"
Adicionar arquivo e commitar ao mesmo tempo
git commit -am "<comentario>"
Alterar a data de um commit
git commit --date="aaaa-mm-ddThh:mm:ss"
Onde:
- aaaa = Ano (com quatro dígitos);
- mm = Mês (com dois dígitos);
- dd = Dia do mês (com dois dígitos);
- hh = Hora do dia (formato 24h);
- mm = Minutos;
- ss = Segundos.
Enviar arquivos ao repositório remoto
Considerando que o repositório remoto foi definido como origin:
git push origin master
Observação:
Pode-se dispensar a necessidade de colocar especificar origin master em todo push.
git push -u origin master
Clonando código de um repositório remoto
Faz uma cópia do repositório remoto para a se for omitido será criada uma subpasta com o nome do repositório remoto.
git clone <url> <pastaLocal>
Status das alterações em relação ao último commit
Relaciona todos os arquivos que foram modificados desde o último commit.
git status
Mostra o que foi alterado nos arquivos
O parâmetro nomeDoArquivo é opcional, se for omitido será exibida o detalhe do que foi alterado em todos os arquivos.
git diff <nomeDoArquivo>
Listagem dos nomes dos arquivos que foram alterados
Mostra somente o nome dos arquivos e não o conteúdo do que foi alterado.
git diff --name-only
Logs dos commits
Detalha cada commit, listando nome do autor e comentários dos commits.
git log
git log --graph
git log --decorate
Filtrar commits por autor
git log --author="<nomeDoAutor>"
Listar as contribuições de por autor
git shortlog
Mostrar somente a quantidade de contribuições por autor
git shortlog -sn
Detalhes de um commit
git show <hashDoCommit>
Retornar um arquivo específico à ultima versão commitada
git checkout <nomeDoArquivo>
Retirar um arquivo da fila do staged
git reset head
Desfazer um commit
É possível desfazer um commit de três maneiras.
Mantendo as alterações feitas no arquivo e o arquivo na staged:
git reset --soft <hashAnteriorAoCommit>
Mantendo as alterações feitas, mas sem o arquivo na staged:
git reset --mixed <hashAnteriorAoCommit>
Apagando todas as alterações do commit e voltando ao anterior:
git reset --hard <hashAnteriorAoCommit>
Voltando o commit anterior como se fosse um novo commit:
git revert <hashDoCommitADesfazer>
Trabalhando com branches
Um branch no Git é uma forma de criar uma versão paralela do seu código-fonte, onde você pode fazer alterações sem afetar a versão principal. Um branch é um ponteiro que aponta para um commit específico, que representa o estado dos seus arquivos naquele momento. Você pode criar vários branches para trabalhar em diferentes recursos ou correções, e depois mesclar os branches de volta à versão principal quando estiverem prontos.
Criar um branch
git checkout -b <nomeDoBranch>
Listagem dos branches
git branch
Mudar de branch
git chechout <nomeDoBranch>
Apagar um branch
git branch -D <nomeDoBranch>
Apagar um branch do repositório remoto
git push origin :<nomeDoBranch>
Fazendo merge de branches
Não-linear
git merge <nomeDoBranch>
Merge linear
git rebase <nomeDoBranch>
Criar Work In Progress (WIP)
git stash
Trazer as mudanças do WIP de volta
git stash apply
Listagem dos stashes
git stash list
Limpar os stashes
git stash clear
Criar um alias (atalho) para comandos
git config --global alias.<atalho> <comando>
Exemplo:
Criar um atalho pom
que represente o comando push origin master
git config --global alias.pom "push origin master"
Feito isso os novos pushes para o repositório remoto podem ser feitos usando o comando git pom
Versionando com tag
git tag -a <versao> -m "<comentario>"
git push origin master --tags
Deletar tag do repositório remoto
git push origin :<versaoAApagar>
Ferramentas para uso do git sem linha de comando
Renato Monteiro Batista
Engenheiro de Computaçãohttps://renato.ovh |