Gitcomandos » Histórico » Versão 9
« Anterior -
Versão 9/14
(diff) -
Próximo » -
Versão atual
Mauricio Luiz Viani, 27/10/2021 17:56 h
Comandos básicos do Git¶
Branches¶
Listar branches¶
$ git branch $ git branch -a O ramo que tiver um '*' é o ramo ativo
Selecionar branch¶
$ git checkout <nome_do_branch> Ativa o branch como padrão
Criar branch¶
$ git branch <nome_do_branch> Posicionar no branch a partir do qual será gerado o novo branch. Ex: master
Excluir branch¶
$ git branch -d <nome_do_branch> Use -D para forçar exclusão do branch mesmo que existam diferenças
Mesclar branches¶
$ git merge <nome_branch_mesclar> Posicionar no branch que receberá o merge Em caso de conflito fazer git mergetool
Criar um branch a partir de uma tag¶
$ git checkout -b <nome-do-branch> tags/<nome-da-tag>
Posicionar um branch em uma revisão¶
$ git reset --hard <hash-da-revisao> $ git reset --hard HEAD
Commitar uma revisão qualquer sobre um branch¶
$ git cherry-pick --edit <hash-da-revisao> Posicionar primeiramente no branch que receberá o commit
Operações sobre o repositório¶
Exibir situação do repositório¶
$ git status Lista a situação do repositório, mostrando o ramo ativo, posição do ponteiro do ramo em relação ao remoto, arquivos modificados e arquivos pendentes de commit
Adicionar um servidor remoto¶
$ git remote add <nome-repositorio> <caminho> Exemplo: $ git remote add repo-externo https://github.com/ComunidadeExpresso/expressomobile.git
Atualizar repositório local com a versão mais recente do repositório remoto¶
$ git pull Posicionar no branch que receberá as atualizações
Enviar dados do branch para o servidor remoto¶
$ git push Posicionar no branch que será origem do envio ou: $ git push <nome-repositorio> <nome_branch> Exemplo: git push origin master
Ver o log¶
$ git log $ git log -4
Exibir informações do repositório remoto¶
$ git remote show <nome-repositorio> Exemplo: git remote show origin
Atualizar repositório local com últimas atualizações dos remotos¶
$ git fetch --all
Salvar as atualizações locais antes de atualizar o repositório¶
$ git pull --rebase Irá salvar as alterações locais, atualizar o repositório local a partir do remoto e reaplicar as atualizações locais
Listar dados estatísticos de revisões¶
$ git log --no-merges --author="Nome Completo" --stat --pretty=oneline db00991..001eb43
Operações sobre arquivos¶
Adicionar arquivos na área de staging¶
$ git add <arquivo> $ git add * $ git add --all Irá marcar os arquivos modificados como prontos para serem enviados ao repositório local (commit)
Remover arquivos do repositório¶
$ git rm <arquivo> $ git rm <pasta>
Reverter a atualização em um arquivo¶
$ git checkout <arquivo>
Commit dos arquivos da área de staging¶
$ git commit -m "Issue #<nnnn> - <Comentários das alterações>"
Onde <nnnn> é o número da Issue a que se refere o commit
Exemplo:
$ git commit -m "Issue #1885 - Implementa o construtor da classe Imap" O uso do número da issue no comentário do commit fará com que o Redmine anote no histórico da issue o número da revisão do commit Caso uma mensagem de commit esteja fora do padrão, o servidor irá retornar um aviso de erro e o push não será efetivado
Colocar alterações locais em área temporária¶
$ git stash -u -a Irá salvar as atualizações locais e retornar o repositório à posição da última sincronização
Retornar alterações na área temporária¶
$ git stash pop $ git stash apply Pode ser combinado com o identificador do pacote. Por exemplo: $ git stash pop stash@{1}
Visualizar diferenças¶
$ git diff <branch_origem> <branch_destino> $ git diff <commit> <commit> $ git diff <arquivo>
Aplicar um patch¶
$ patch -p1 -i <arquivo-diff> Gere o arquivo de diferenças com o comando git diff
Corrigir a descrição do último commit antes do push¶
$ git commit --amend
Corrigir a descrição do último commit após o push¶
$ git commit --amend $ git push --force-with-lease
Tags¶
Criar uma tag¶
$ git tag <nome-da-tag> Posicionar no branch que será origem da tag
Remover uma tag¶
$ git tag -d <nome-da-tag>
Enviar tags para o repositório remoto¶
$ git push --tags
Softwares com interface gráfica para git¶
* git-gui * gitk