Projeto

Geral

Perfil

Gitcomandos » Histórico » Versão 2

Versão 1 (Mauricio Luiz Viani, 27/06/2016 16:35 h) → Versão 2/14 (Mauricio Luiz Viani, 28/09/2016 15:10 h)

h1. Comandos básicos do Git

h2. Listar branches

<pre>
$ git branch
$ git branch -a

O ramo que tiver um '*' é o ramo ativo
</pre>

h2. Selecionar branch

<pre>
$ git checkout <nome_do_branch>

Ativa o branch como padrão
</pre>

h2. Adicionar arquivos na área de staging

<pre>
$ git add <arquivo>
$ git add *
$ git add --all
</pre>

h2. Remover arquivos do repositório

<pre>
$ git rm <arquivo>
$ git rm <pasta>
</pre>

h2. Exibir situação do repositório

<pre>
$ 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
</pre>

h2. Reverter a atualização em um arquivo

<pre>
$ git checkout <arquivo>
</pre>

h2. Commit dos arquivos da área de staging

<pre>
$ git commit -m "Issue #<nnnn> - <Comentários das alterações>"
</pre>

Onde <nnnn> é o número da Issue a que se refere o commit

Exemplo:

<pre>
$ 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 uma mensagem de erro e o push não será efetivado
</pre>

h2. Criar branch

<pre>
$ git branch <nome_do_branch>

Posicionar no branch a partir do qual será gerado o novo branch. Ex: master

</pre>

h2. Excluir branch

<pre>
$ git branch -d <nome_do_branch>

Use -D para forçar exclusão do branch mesmo que existam diferenças
</pre>

h2. Visualizar diferenças diff entre dois branches

<pre>
$ git diff <branch_origem> <branch_destino>

$ git diff <commit> <commit>
</pre>

h2. Aplicar um patch

<pre>
$ patch -p1 -i <arquivo-diff>

Gere um arquivo de diferenças (diff) com o comando git diff

</pre>

h2. Mesclar branches

<pre>
$ git merge <nome_branch_mesclar>

Posicionar no branch que receberá o merge
Em caso de conflito fazer git mergetool
</pre>

h2. Criar uma tag

<pre>
$ git tag <nome-da-tag>

Posicionar no branch que será origem da tag
</pre>

h2. Remover uma tag

<pre>
$ git tag -d <nome-da-tag>
</pre>

h2. Enviar tags para o repositório remoto

<pre>
$ git push --tags
</pre>

h2. Criar um branch a partir de uma tag

<pre>
$ git checkout -b <nome-do-branch> tags/<nome-da-tag>
</pre>

h2. Adicionar um servidor remoto

<pre>
$ git remote add <nome-repositorio> <caminho>

Exemplo:

$ git remote add repo-externo https://github.com/ComunidadeExpresso/expressomobile.git
</pre>

h2. Atualizar repositório local com a versão mais recente do repositório remoto

<pre>
$ git pull

Posicionar no branch que receberá as atualizações
</pre>

h2. Enviar dados do branch para o servidor remoto

<pre>
$ git push

Posicionar no branch que será origem do envio

ou:

$ git push <nome-repositorio> <nome_branch>

Exemplo: git push origin master
</pre>

h2. Ver log

<pre>
$ git log
$ git log -4
</pre>

h2. Exibir informações do repositório remoto

<pre>
$ git remote show <nome-repositorio>

Exemplo: git remote show origin
</pre>

h2. Atualizar repositório local com últimas atualizações dos remotos

<pre>
$ git fetch --all
</pre>

h2. Colocar alterações locais em área temporária

<pre>
$ git stash -u -a
</pre>

h2. Posicionar um branch em uma revisão

<pre>
$ git reset --hard <hash-da-revisao>
$ git reset --hard HEAD
</pre>

h2. Commitar uma revisão qualquer sobre um branch

<pre>
$ git cherry-pick --edit <hash-da-revisao>

Posicionar primeiramente no branch que receberá o commit
</pre>

h2. Instalar softwares gráficos

<pre>
$ apt-get install git-gui
$ apt-get install gitk
</pre>