git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · repositório local com ramos • git...

23
Git Leonardo Gresta Paulino Murta [email protected]ff.br

Upload: others

Post on 16-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Oqueéversionado?

Leonardo Murta Git 2

Diretório Arquivo

ElementoFS

ArquivoBinário ArquivoTexto Linha

Page 3: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Comoéversionado?

Leonardo Murta Git 3

CommitA CommitB

CommitC

CommitE

CommitD

CommitF

CommitAutor

CommiHerMensagem

Data

ElementoFS*

0..2 pais

Page 4: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Formasdeadoção•  Apesardeserpeer-to-peer,normalmenteédefinidoum“workflow”paraadoçãodeDVCSemfunçãodecaracterísXcasdoprojeto–  Individual– Cliente-servidor– Gerentedeintegração– Ditador/tenentes

Leonardo Murta Git 4

Page 5: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Individual

Leonardo Murta Git 5

Page 6: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Cliente-servidor

Leonardo Murta Git 6

Page 7: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Gerentedeintegração

Leonardo Murta Git 7

Page 8: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Ditador/tenentes

Leonardo Murta Git 8

Page 9: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Passoapasso•  VamosuXlizaroGitgradualmenteemdiferentessituações– Conceitosbásicos– Repositóriolocal–  Inspecionandomudanças– Demarcandoversõesespeciais– Repositóriolocalcomramos– Repositórioremoto– MúlXplosrepositóriosremotos

Leonardo Murta Git 9

Page 10: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Conceitosbásicos:help!•  githelp

– Ofereceajudageralsobreogit•  githelp<comando>

– Ofereceajudasobreumcomandoespecíficodogit

•  Demaiscomandosdãodicasdoquepodeserfeito(leiacomatençãoassaídasdoscomandos!)

Leonardo Murta Git 10

Page 11: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Conceitosbásicos:quemsoueu?•  gitconfig--globaluser.name<seunome>

– Configuraonomedousuário

•  gitconfig--globaluser.email<seuemail>– Configuraoemaildousuário

Leonardo Murta Git 11

Page 12: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Conceitosbásicos:stagingarea•  Áreaondesãocolocadososarquivosquepretendemosenviarparaorepositório

Leonardo Murta Git 12

ÁreadeTrabalho

StagingArea

RepositórioLocal

Page 13: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Conceitosbásicos:commitid•  CadasistemadecontroledeversãousaumaestratégiadiferenteparaidenXficarcommits– Númerosequencialporarquivo(CVS)– Númerosequencialporrepositório(Subversion)– Hash(GiteMercurial)

Leonardo Murta Git 13

Page 14: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Conceitosbásicos:apelidos•  Aversãobasedoseuespaçodetrabalho

– HEAD•  Oramoprincipaldoseurepositório

– master

•  Orepositóriodoqualseurepositóriofoiclonado– origin

Leonardo Murta Git 14

Page 15: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Repositóriolocal•  gitinit<nome>

– CriaumrepositórioGitnodiretório

•  gitadd– Adicionaumarquivonastagingareaparaserenviadoaorepositórionopróximocommit

•  gitcommit–m<mensagem>– Enviaosarquivosqueestãonastagingareaparaorepositório

Leonardo Murta Git 15

Page 16: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Inspecionandomudanças•  gitstatus

–  Inspecionaoespaçodetrabalho•  gitlog[--graph][--decorate=short][--name-status]

–  Inspecionaohistóricodorepositóriolocal•  gitshow

–  Inspecionaumcommit•  gitdiff

– Comparaoespaçodetrabalhocomastagingareaoucomalgumaversãodorepositório

Leonardo Murta Git 16

Page 17: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Interfacegráfica•  Épossívelfazertodosessespassosdeformavisual

•  Dentreváriasferramentas,vamospraXcarcom...

Leonardo Murta Git 17

Page 18: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Demarcandoversõesespeciais•  gittag

– Listaosrótulosexistentes•  gittag<nomedorótulo>[commitid]

– Criaumrótulosobreumdadocommit(HEADpordefault)

•  gittag–d<nomedorótulo>– Removeumrótulo

Leonardo Murta Git 18

Page 19: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Repositóriolocalcomramos•  gitbranch--all-v

–  Listaosramosexistentesnorepositório•  gitbranch<nomedoramo>

–  CriaumramoàparXrdaversãoindicadanoHEAD•  gitbranch–d<nomedoramo>

–  Removeumramo•  gitcheckout<commitidounomedoramo>

–  Trocaaversãobasedoespaçodetrabalho•  gitmerge<nomedoramo>

–  CombinaumramocomoramocorrenteLeonardo Murta Git 19

Page 20: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Repositórioremoto•  gitclone<url><diretório>

– Criaumrepositóriolocalcopiandoohistóricodeumrepositórioremoto

•  gitpull– Atualizaorepositóriolocaleoespaçodetrabalhoemrelaçãoaumrepositórioremoto

•  gitpush– Atualizaorepositórioremotoemrelaçãoaorepositóriolocal

Leonardo Murta Git 20

Page 21: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

MúlXplosrepositóriosremotos•  gitremote-v

– Listarosrepositóriosremotoscadastrados

•  gitremoteadd<nome><url>– Adicionaumnovorepositórioremoto

•  gitremoteremove<nome>– Removeumrepositórioremotoexistente

Leonardo Murta Git 21

Page 22: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Principalreferênciabibliográfica•  Chacon,S.ProGit.Apress,1ªedição,2009.

Leonardo Murta Git 22

Page 23: Git - ic.uff.brleomurta/courses/2015.2/es2/aula5a.pdf · Repositório local com ramos • git branch --all -v – Lista os ramos existentes no repositório • git branch

Git

[email protected]