Tempo de leitura: menos de 1 minuto

Continuando o post anterior (Git #1: Por onde começar), falaremos mais de como usar o Git, por a mão na massa de verdade.
Principais comandos
Comando: status
Talvez o comando mais utilizado no Git seja o “status”, com ele é possível saber quais foram as alteração desde a última vez que sua branch foi atualizada. Vejamos os exemplos:
Exemplo 1:
[code language=”bash”]
$ git status
On branch master
Your branch is up-to-date with ‘origin/master’.
nothing to commit, working directory clean
[/code]
De acordo com a mensagem, nenhum arquivo na branch “master” foi alterado, sendo assim nada foi alterado até o momento.
Exemplo 2:
[code language=”bash”]
$ git status
On branch master
Your branch is up-to-date with ‘origin/master’.
Changes not staged for commit:
(use "git add …" to update what will be committed)
(use "git checkout — …" to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
[/code]
Já nesse exemplo, o arquivo “readme.txt” foi modificado.
Nota: o Git sempre ajuda o usuário sugerindo o próximo comando, nesse caso a alteração ainda não está na Stage, portanto ele sugere a adição do arquivo ou o descarte da alteração.
Comando: diff
Como o comando diff é possível ter uma visão mais detalhada das alterações em um arquivo. Ele exibi o antes e depois da alteração em uma linha, ou bloco.
Exemplos:
[code language=”bash”]
$ git diff — readme.txt
[/code]
Nesse exemplo, será exibido as alterações no arquivo “readme.txt”, será listado algo como a imagem abaixo. As linhas com o sinal de “-” (em vermelho) indica como era; as linhas com o “+” (em verde) indica como está pós alteração.

Nota: importante lembrar que o “– readme.txt” é opcional, o “–“, serve para iniciar um arquivo específico, caso seja omitido, todos os arquivos alterados serão exibidos.
É possível também listar as diferenças de um, ou mais arquivos que foram adicionados à Stage, para isso:
[code language=”bash”]
$ git diff –staged
[/code]
Comando: add
Quando se cria um novo arquivo ou efetua modificações em um arquivo existente, para que se possa commitar as alterações é necessário adicionar as alteração à Stage, devemos falar ao Git que o arquivo está apito a ser commitado. Para isso usamos o comando “add”. Vejamos:
[code language=”bash”]
$ git add
[/code]
Nota: Quando existe mais de um arquivo a ser adicionado à Stage, basta usar o carácter “.” no lugar do nome .
Também é possível adicionar arquivos de um determinado package, para isso no lugar do <nome do arquivo>, digite a package seguida por “/*”. O “*” por ser usado também para extensões, exemplo: todos arquivo txt “*.txt”.
Comando: commit
Modificações adicionadas na Stage, agora é hora de fazer o commit, para isso usamos o comando “commit”. Abaixo segue algumas formas de commit:
Exemplo 1: commit de um único arquivo.
[code language=”bash”]
$ git commit
[/code]
Nota: O Git obriga que cada commit tenha seu comentário, no exemplo acima, o parâmetro “-m” foi omitido (-m é o parâmetro que informa o comentário), nesse caso, o Git abrirá o editor de texto configurado, para que o usuário posso escrever o comentário e efetivar o commit.
Exemplo 2: commit de todos os arquivos da Stage com comentário.
[code language=”bash”]
$ git commit -m "<comentário>"
[/code]
Exemplo 3: Commit pulando o Stage.
Esse comando dispensa a necessidade de usar o comando “add”.
[code language=”bash”]
$ git commit -a -m "<comentário>"
[/code]
Exemplo 4: Modificando seu último commit
Imagine a seguinte situação, “fiz o commit muito cedo e esqueci de adicionar um arquivo” ou “escrevi apenas parte do comentário, não faz sentido nenhum o que eu escrevi”. Para essas situações existe o parâmetro “–amend” que refaz o último commit adicionando novos arquivos e possibilitando alteração no commit.
[code language=”bash”]
$ git commit -m ‘initial commit’
$ git add forgotten_file
$ git commit –amend
[/code]
Comando: rm e mv
Para remover um arquivo gerenciado pelo Git, usamos o comando “rm”:
[code language=”bash”]
$ git rm
[/code]
Para renomear um arquivo, usamos o comando “mv”:
[code language=”bash”]
$ git mv
[/code]
O comando “mv” é equivalente à fazer essa sequência:
[code language=”bash”]
$ mv README.txt README
$ git rm README.txt
$ git add README
[/code]
Desfazendo coisas
O Git possibilita que o usuário desfaça algumas coisas, como retirar um arquivo da Stage, retornar versão antes da alteração, entre outros.
Comando: reset
O comando reset pode retirar um arquivo que foi adicionado na Stage e retorna-lo para o diretório de trabalho, usamos isso quando, um ou mais arquivos que esteja na Stage, não deva ser commitado.
[code language=”bash”]
$ git reset HEAD
[/code]
Comando: checkout
O comando checkout serve, entre outras funcionalidades, para reverter a alteração feita em um arquivo.
Exemplo 1: Desfazendo um arquivo modificado
[code language=”bash”]
$ git checkout -f
[/code]
Exemplo 2: Desfazendo modificação de vários arquivos
[code language=”bash”]
$ git checkout — .
[/code]
Visualizando o Histórico de Commits
Vira e mexe, temos a necessidade de saber qual foi ou quem fez o último commit, no Git isso é possível usando o comando “log”:
[code language=”bash”]
$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the verison number
…
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 10:31:28 2008 -0700
first commit
[/code]
O comando log disponibiliza vários parâmetros interessantes, abaixo listo alguns:
- -p: que mostra o diff introduzido em cada commit;
- -p seguido de -<numero>: limita a saída somente a o <número> de últimas entradas;
- –stat: abaixo de cada commit uma lista de arquivos modificados, quantos arquivos foram modificados, e quantas linhas nestes arquivos foram adicionadas e removidas.
- –pretty: muda a saída do log para outro formato que não o padrão
- Para mais informações em consulte: http://git-scm.com/book/pt-br/Git-Essencial-Visualizando-o-Histórico-de-Commits.
É isso aí pessoal, ingenuamente, achei que dois posts seria o suficiente para dar um overview sobre o Git, me enganei. Para o post não ficar mais extenso do que já está, quebrei-o em duas partes, assim, logo devo postar a parte #3.
Espero que tenham gostado!

Link permanente
Link permanente