Você está na página 1de 8

20/06/2015

Git - Visualizando o Histrico de Commits

fastversioncontrol
Searchentiresite...

About
Documentation
Reference
Book
Videos
ExternalLinks
Blog
Downloads
GUIClients
Logos
Community
ThisbookistranslatedintoDeutsch,,,Franais,,Nederlands,,
,Portugus(Brasil)andetina.
PartialtranslationsavailableinArabic,Espaol,Indonesian,Italiano,Suomi,,Polski
andTrke.
TranslationsstartedforAzrbaycandili,,Catal,Esperanto,Espaol(Nicaragua),,
,Magyar,NorwegianBokml,Romn,,,TingVit,and
.
ThesourceofthisbookishostedonGitHub.
Patches,suggestionsandcommentsarewelcome.
Chapters
1. 1.Primeirospassos
1. 1.1SobreControledeVerso
2. 1.2UmaBreveHistriadoGit
3. 1.3NoesBsicasdeGit
4. 1.4InstalandoGit
5. 1.5ConfiguraoInicialdoGit
6. 1.6ObtendoAjuda
7. 1.7Resumo
2. 2.GitEssencial
1. 2.1ObtendoumRepositrioGit
2. 2.2GravandoAlteraesnoRepositrio
3. 2.3VisualizandooHistricodeCommits
4. 2.4DesfazendoCoisas
5. 2.5TrabalhandocomRemotos
6. 2.6Tagging
https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

1/8

20/06/2015

Git - Visualizando o Histrico de Commits

7. 2.7DicaseTruques
8. 2.8Sumrio
3. 3.Ramificao(Branching)noGit
1. 3.1OqueumBranch
2. 3.2BsicodeBrancheMerge
3. 3.3GerenciamentodeBranches
4. 3.4FluxosdeTrabalhocomBranches
5. 3.5BranchesRemotos
6. 3.6Rebasing
7. 3.7Sumrio
1. 4.GitnoServidor
1. 4.1OsProtocolos
2. 4.2ConfigurandoGitnoServidor
3. 4.3GerandoSuaChavePblicaSSH
4. 4.4ConfigurandooServidor
5. 4.5AcessoPblico
6. 4.6GitWeb
7. 4.7Gitosis
8. 4.8Gitolite
9. 4.9ServioGit
10. 4.10GitHospedado
11. 4.11Sumrio
2. 5.GitDistribudo
1. 5.1FluxosdeTrabalhoDistribudos
2. 5.2ContribuindoParaUmProjeto
3. 5.3MantendoUmProjeto
4. 5.4Resumo
3. 6.FerramentasdoGit
1. 6.1SeleodeReviso
2. 6.2readeSeleoInterativa
3. 6.3FazendoStash
4. 6.4ReescrevendooHistrico
5. 6.5DepurandocomGit
6. 6.6Submdulos
7. 6.7MergedeSubrvore(SubtreeMerging)
8. 6.8Sumrio
1. 7.CustomizandooGit
1. 7.1ConfiguraodoGit
2. 7.2AtributosGit
3. 7.3HooksdoGit
https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

2/8

20/06/2015

Git - Visualizando o Histrico de Commits

4. 7.4UmexemplodePolticaGitForada
5. 7.5Sumrio
2. 8.GiteOutrosSistemas
1. 8.1GiteSubversion
2. 8.2MigrandoparaoGit
3. 8.3Resumo
3. 9.GitInternamente
1. 9.1Encanamento(Plumbing)ePorcelana(Porcelain)
2. 9.2ObjetosdoGit
3. 9.3ReferenciasGit
4. 9.4Packfiles
5. 9.5ORefspec
6. 9.6ProtocolosdeTransferncia
7. 9.7ManutenoeRecuperaodeDados
8. 9.8Resumo
1stEdition

2.3GitEssencialVisualizandooHistricode
Commits
VisualizandooHistricodeCommits
Depoisquevoctivercriadovrioscommits,ouseclonouumrepositriocomumhistricode
commitsexistente,vocprovavelmentevaiquererveroqueaconteceu.Aferramentemaisbsicae
poderosaparafazerissoocomandogit log.
Estesexemplosusamumprojetomuitosimpleschamadosimplegit,queeufrequentementeusopara
demonstraes.Parapegaroprojeto,execute:
git clone git://github.com/schacon/simplegit-progit.git

Quandovocexecutargit lognesteprojeto,vocdeveterumasadacomoesta:
$ 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 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

3/8

20/06/2015

Date:

Git - Visualizando o Histrico de Commits

Sat Mar 15 10:31:28 2008 -0700

first commit

Porpadro,semargumentos,git loglistaoscommitsfeitosnaquelerepositrioemordem
cronolgicareversa.Isto,oscommitsmaisrecentesprimeiro.Comovocpodever,estecomando
listacadacommitcomseuchecksumSHA1,onomeeemaildoautor,adataeamensagemdo
commit.
Umgrandenmeroevariedadedeopesparaocomandogit logestodisponveisparamostrlo
exatamenteoquevocquerver.Aqui,nsmostraremosalgumasdasopesmaisusadas.
Umadasopesmaisteis-p,quemostraodiffintroduzidoemcadacommit.Vocpodeaindausar
-2,quelimitaasadasomentesduasltimasentradas.
$ git log -p -2
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the verison number
diff --git a/Rakefile b/Rakefile
index a874b73..8f94139 100644
--- a/Rakefile
+++ b/Rakefile
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
spec = Gem::Specification.new do |s|
s.version = "0.1.0"
+
s.version = "0.1.1"
s.author
= "Scott Chacon"
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
diff --git a/lib/simplegit.rb b/lib/simplegit.rb
index a0a60ae..47c6340 100644
--- a/lib/simplegit.rb
+++ b/lib/simplegit.rb
@@ -18,8 +18,3 @@ class SimpleGit
end
end
-if $0 == __FILE__
- git = SimpleGit.new
- puts git.show
-end
\ No newline at end of file

Estaopomostraamesmainformao,mascomumdiffdiretamenteseguidodecadaentrada.Isso
muitotilpararevisodecdigoouparanavegarrapidamenteesaberoqueaconteceuduranteuma
sriedecommitsqueumcolaboradoradicionou.Vocpodeaindausarumasriedeopesde
sumarizaocomgit log.Porexemplo,sevocquiserveralgumasestatsticasabreviadasparacada
commit,vocpodeusaraopo--stat
$ git log --stat
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

4/8

20/06/2015

Date:

Git - Visualizando o Histrico de Commits

Mon Mar 17 21:52:11 2008 -0700

changed the verison number


Rakefile |
2 +1 files changed, 1 insertions(+), 1 deletions(-)
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
lib/simplegit.rb |
5 ----1 files changed, 0 insertions(+), 5 deletions(-)
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 10:31:28 2008 -0700
first commit
README
|
6 ++++++
Rakefile
| 23 +++++++++++++++++++++++
lib/simplegit.rb | 25 +++++++++++++++++++++++++
3 files changed, 54 insertions(+), 0 deletions(-)

Comovocpodever,aopo--statimprimeabaixodecadacommitumalistadearquivos
modificados,quantosarquivosforammodificados,equantaslinhasnestesarquivosforamadicionadas
eremovidas.Eleaindamostraumresumodestasinformaesnofinal.Outraoporealmentetil-pretty.Estaopomudaasadadologparaoutroformatoquenoopadro.Algumasopespr
construdasestodisponveisparavocusar.Aopoonelinemostracadacommitemumanica
linha,oquetilsevocestolhandomuitoscommits.Emadio,asopesshort,fullefuller
mostramasadaaproximadamentecomomesmoformato,mascommenosoumaisinformaes,
respectivamente:
$ git log --pretty=oneline
ca82a6dff817ec66f44342007202690a93763949 changed the verison number
085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7 removed unnecessary test code
a11bef06a3f659402fe7563abf99ad00de2209e6 first commit

Aopomaisinteressanteformat,quepermitequevocespecifiqueseuprprioformatodesada
dolog.Istoespecialmentetilquandovocestgerandosadaparaanliseautomatizada(parsing)
porquevocespecificaoformatoexplicitamente,vocsabequeelenovaimudarjuntocomas
atualizaesdoGit:
$ git log --pretty=format:"%h - %an, %ar : %s"
ca82a6d - Scott Chacon, 11 months ago : changed the verison number
085bb3b - Scott Chacon, 11 months ago : removed unnecessary test code
a11bef0 - Scott Chacon, 11 months ago : first commit

Tabela21listaalgumasdasopesmaisimportantesparaformatao.
Opo

%t

Descriodasada
Hashdocommit
Hashdocommitabreviado
rvorehash
rvorehashabreviada

%P

Hashespais

%H
%h
%T

https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

5/8

20/06/2015

%P
%p

%an
%ae
%ad
%ar
%cn
%ce
%cd
%cr
%s

Git - Visualizando o Histrico de Commits

Hashespais
Hashespaisabreviados
Nomedoautor
Emaildoautor
Datadoautor(formatorespeitaaopodate=)
Datadoautor,relativa
Nomedocommitter
Emaildocommitter
Datadocommitter
Datadocommitter,relativa
Assunto

Vocdeveestarseperguntandoqualadiferenaentreautorecommitter.Oautorapessoaque
originalmenteescreveuotrabalho,enquantoocommiterapessoaqueporltimoaplicouotrabalho.
Ento,sevocenviaumpatchparaumprojeto,ealgumdosmembrosdoncleooaplicam,ambos
receberocrditosvoccomooautor,eomembrodoncleocomoocommiter.Nscobriremos
estadistinoumpoucomaisnoCaptulo5.
Asopesonelineeformatsoparticularmenteteiscomoutraopochamada--graph.Esta
opogeraumagradvelgrficoASCIImostrandoseubranchehistricodemerges,quens
podemosveremnossacpiadorepositriodoprojetoGrit:
$ git log --pretty=format:"%h %s" --graph
* 2d3acf9 ignore errors from SIGCHLD on trap
* 5e3ee11 Merge branch 'master' of git://github.com/dustin/grit
|\
| * 420eac9 Added a method for getting the current branch.
* | 30e367c timeout code and tests
* | 5a09431 add timeout protection to grit
* | e1193f8 support for heads with slashes in them
|/
* d6016bc require time for xmlschema
* 11d191e Merge branch 'defunkt' into local

Estassoapenasalgumasopesdeformataodesadadogit loghmuitomais.Atabela22
listaasopesquenscobrimosealgumasoutrascomunsquepodemserteis,juntocomadescrio
decomoelasmudamasadadocomandolog.
Opo
-p
--stat

Descrio
Mostraopatchintroduzidocomcadacommit.
Mostraestatsticasdearquivosmodificadosemcadacommit.

-Mostrasomenteaslinhasmodificadas/inseridas/excludasdocomandostat.
shortstat
--nameonly

Mostraalistadearquivosmodificadosdepoisdasinformaesdocommit.

--namestatus

Mostraalistadearquivosafetadoscominformaessobreadio/modificao/excluso
dosmesmos.

--abbrevMostrasomenteosprimeiroscaracteresdochecksumSHA1emvezdetodosos40.
commit
-Mostraadataemumformatorelativo(porexemplo,2semanasatrs)emvezdeusaro
relativeformatodedatacompleto.
date
--graph

MostraumgrficoASCIIdobranchehistricodemergesaoladodasadadelog.

https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

6/8

20/06/2015

Git - Visualizando o Histrico de Commits

MostraumgrficoASCIIdobranchehistricodemergesaoladodasadadelog.
Mostraoscommitsemumformatoalternativo.Opesincluemoneline,short,full,
--pretty
fuller,eformat(ondevocespecificaseuprprioformato).
--graph

LimitandoaSadadeLog
Emadiosopesdeformatao,git logteminmerasopesdelimitaesteisqueso
opesquelhedeixammostrarsomenteumsubconjuntodecommits.Vocjviualgumasaopo
-2,quemostraapenasosdoisltimoscommits.Defato,vocpodefazer-<n>,ondenqualquer
inteiroparamostrarosltimosncommits.Naverdade,vocprovavelmentenousarisso
frequentemente,porqueporpadrooGitenfileiratodaasadaemumpaginador,eentovocv
somenteumapginadasadadologporvez.
Noentanto,asopesdelimitesdetempocomo--sincee--untilsomuitoteis.Porexemplo,
estecomandopegaalistadecommitsfeitosnasltimasduassemanas:
$ git log --since=2.weeks

Estecomandofuncionacomvriosformatosvocpodeespecificarumadataespecfica(200801
15)ouumadatarelativacomo2years1day3minutesago.
Vocpodeaindafiltraralistadecommitsquecasamcomalgunscritriosdebusca.Aopo-authorpermitequevocfiltreporalgumautorespecfico,eaopo--grepdeixavocbuscarpor
palavraschavenasmensagensdoscommits.(Notequesevocquiserespecificarambasasopes
authoregrepsimultneamente,vocdeveadicionar--all-match,ouocomandoconsiderar
commitsquecasamcomqualquerum.)
Altimaoporealmentetilparapassarparagit logcomoumfiltro,ocaminho.Sevoc
especificarumdiretrioouumnomedearquivo,vocpodelimitarasadaacommitsque
modificaramaquelesarquivos.Essasemprealtimaopo,egeralmenteprecedidapordoistraos
(--)parasepararcaminhosdasopes.
NaTabela23nslistamosestaseoutrasopescomunsparasuareferncia.
Opo
-(n)

Descrio
Mostrasomenteosltimosncommits.

--since, -after

Limitaaoscommitsfeitosdepoisdadataespecificada.

--until, -before

Limitaaoscommitsfeitosantesdadataespecificada.

--author
--committer

Somentemostracommitsqueoautorcasacomastringespecificada.
Somentemostraoscommitsemqueaentradadocommiterbatecomastring
especificada.

Porexemplo,sevocquerverquaiscommitsmodificaramarquivosdetestenohistricodocdigo
fontedoGitqueforamcommitadosporJulioHamanoemOutubrode2008,enoforammerges,voc
podeexecutaralgocomo:
$ git log --pretty="%h - %s" --author=gitster --since="2008-10-01" \
--before="2008-11-01" --no-merges -- t/
5610e3b - Fix testcase failure when extended attribute
acd3b9e - Enhance hold_lock_file_for_{update,append}()
f563754 - demonstrate breakage of detached checkout wi
d1a43f2 - reset --hard/read-tree --reset -u: remove un
51a94af - Fix "checkout --track -b newbranch" on detac
https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

7/8

20/06/2015

Git - Visualizando o Histrico de Commits

b0ad11e - pull: allow "git pull origin $something:$cur

Dos20.000commitsmaisnovosnohistricodocdigofontedoGit,estecomandomostraos6que
casamcomaquelescritrios.

UsandoInterfaceGrficaparaVisualizaroHistrico
Sevocquiserusarumaferramentagrficaparavisualizarseuhistricodecommit,vocpodequerer
darumaolhadaemumprogramaTcl/TkchamadogitkquedistribudocomoGit.Gitk
basicamenteumaferramentavisualparagit log,eeleaceitaaproximadamentetodasasopesde
filtrosquegit logaceita.Sevocdigitargitknalinhadecomandoemseuprojeto,vocdevever
algocomoaFigura22.

Figura22.Ovisualizadordehistricogitk.
Vocpodeverohistricodecommitnametadedecimadajanelajuntamentecomumagradvel
grfico.Ovisualizadordediffnametadedebaixodajanelamostraavocasmudanasintroduzidas
emqualquercommitquevocclicar.
prev|next
ThisopensourcedsiteishostedonGitHub.
Patches,suggestionsandcommentsarewelcome.
GitisamemberofSoftwareFreedomConservancy

https://git-scm.com/book/pt-br/v1/Git-Essencial-Visualizando-o-Hist%C3%B3rico-de-Commits

8/8