Académique Documents
Professionnel Documents
Culture Documents
Índice
[esconder]
1Introdução
2Comandos
o 2.1Comando Git Log
o 2.2Comando git Reflog
o 2.3Intervalos de Commits
o 2.4Comando git add -i
o 2.5Comando git commit --amend
o 2.6Alterando commit com pixup+rebase -i
3Referencias
$ git log
commit 734713bc047d87bf7eac9674765ae793478c50d3
Author: Scott Chacon <schacon@gmail.com>
Date: Fri Jan 2 18:32:33 2009 -0800
fixed refs handling, added gc auto, updated tests
commit d921970aadf03b3cf0e71becdaab3147ba71cdef
Merge: 1c002dd... 35cfb2b...
Author: Scott Chacon <schacon@gmail.com>
Date: Thu Dec 11 15:08:43 2008 -0800
Merge commit 'phedders/rdocs'
O SHA é o código que identifica o commit. Porém, procurar um commit específico dentro
de um projeto grande requer muito trabalho, onde o usuário terá que ver toda essa lista,
sem estar resumida ou algo do tipo. O git permite que você possa realizar um git log
resumido, ou seja, ele lista todos os commits em ordem mostrando apenas sua mensagem
e seu respectivo SHA, abreviando-o até que se torne único dentro dos SHAs existentes,
como mostraremos adiante. O comando para tal é o --abbrev-commit, como no exemplo a
seguir:
A partir disso, o usuário pode simplesmente utilizar o git show e visualizar facilmente o que
foi modificado ou inserido no commit selecionado.
Comando git Reflog[editar | editar código-fonte]
Uma outra alternativa na hora de visualizar os commits é utilizar o comando reflog, ou seja,
o git mantém o log de onde suas referências de HEAD e branches estiveram nos ultimos
tempos (atente-se que as informações do reflog são informações do repositório local).
$ git reflog
734713b... HEAD@{0}: commit: fixed refs handling, added gc auto,
updated
d921970... HEAD@{1}: merge phedders/rdocs: Merge made by
recursive.
1c002dd... HEAD@{2}: commit: added some blame and merge stuff
Toda vez que o ponto extremo da sua branch é atualizada, o Git faz um registro disso em
um histórico temporário. Caso deseje visualizar algum desses, basta observar o HEAD
referente ao commit/merge/reset/rebase que queira e escrever o comando @{n},
exemplificado a seguir:
Seguindo a mesma lógica, o git permite você utilizar a mesma sintaxe para visualizar onde
uma determinada branch estava em um certo período de tempo. Por exemplo, caso queira
visualizar onde a master se encontrava no dia anterior, basta utilizar o comando a seguir
(referência só funciona para dados que ainda se encontram no reflog).
Isso é útil para deixar a sua branch, no caso 'experiment' atualizada em relação a branch
master, e auxilia você a se posicionar ou prepara-se para o merge que será feito.
Comando git add -i[editar | editar código-fonte]
Quando estamos trabalhando e produzimos um grande volume de alterações em vários
arquivos, isso pode vir a virar uma dor de cabeça. Caso tudo seja feito em somente um
commit, com a função apresentada a seguir isso pode ser solucionado de forma simples.
$git add -i
staged unstaged path
1: unchanged +2/-2 radio_button.html
2: unchanged +1/-1 testeradiobutton.html
***Commands***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
Na primeira parte do resultado ele trás os arquivos e seu status, no caso temos 2 arquivos
não monitorados, na segunda parte os comandos. Vamos ver alguns.
1: status: traz as mesmas informações do git status, porem sem as opções;
What now> 1
staged unstaged path
1: unchanged +2/-2 radio_button.html
2: unchanged +1/-1 testeradiobutton.html
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
Update>> 1, 2
staged unstaged path
* 1: unchanged +2/-2 radio_button.html
* 2: unchanged +1/-1 testeradiobutton.html
Update>>
selecionado os arquivos eles estão com um * na frente indicando que estão sendo
monitorados, e prontos para serem commitados;
4: diff -> traz as alterações feitas em um arquivo.
Arquivos monitorados;
Review diff>> 2
diff --git a/testeradiobutton.html b/testeradiobutton.html
index 37f0ec0..677f716 100644
--- a/testeradiobutton.html
+++ b/testeradiobutton.html
@@ -95,7 +95,7 @@
<label for="bankslip">Boleto</label>
-Botoes de radio button
+botão
\ No newline at end of file
Revert>> 2
staged unstaged path
1: +2/-2 nothing radio_button.html
* 2: +1/-1 nothing testeradiobutton.html
Revert>>
What now> 1
staged unstaged path
1: +2/-2 nothing radio_button.html
2: unchanged +1/-1 testeradiobutton.html
último commit; veja essa alteração que precisa ser adicionada no commit acima.
$ git status
No ramo master
Changes not staged for commit:
(utilize "git add <arquivo>..." para atualizar o que será
submetido)
(utilize "git checkout -- <arquivo>..." para descartar mudanças no
diretório de trabalho)
modificado: testeradiobutton.html
nenhuma modificação adicionada à submissão (utilize "git add" e/ou
"git commit -a")
$ git log
commit afcfa1776d356d2c5cde2380b798bd15f516f94c
Author: GesielFreitas <gesiel.was.f@gmail.com>
Date: Sun Aug 21 17:15:54 2016 -0300
alteração do botão e radio button
$ git log
commit 98cf96fd75f1c4dc53904f983d47bb1903ce6169
Author: GesielFreitas <gesiel.was.f@gmail.com>
Date: Mon Aug 22 10:29:09 2016 -0300
alterando mensagem do usuario
commit 072b9f8765620109399a72f5d91e0f8d175e79d8
Author: GesielFreitas <gesiel.was.f@gmail.com>
Date: Mon Aug 22 10:26:58 2016 -0300
arquivos iniciais
$ git status
No ramo master
Changes not staged for commit:
(utilize "git add <arquivo>..." para atualizar o que será
submetido)
(utilize "git checkout -- <arquivo>..." para descartar mudanças no
diretório de trabalho)
modificado: radio_button.html
nenhuma modificação adicionada à submissão (utilize "git add" e/ou
"git commit -a")
mesclando os commits
substituir pick por f e colocar o arquivo logo abaixo do que você está fazendo a mescla.