git conceitos

Post on 02-Jul-2015

156 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Quais são os conceitos básicos que todo mundo precisa saber sobre git?

TRANSCRIPT

Git – conceitos básicos

By @viniciusban

● REPOSITÓRIOuma cópia dos programas fonte

● COMMITsalva uma mudança no REPO (local)

● BRANCHfrente de trabalho independente e paralela

● MERGEjunta um branch no outro

● TAGdá nome a um commit

conceitos

REPOSITÓRIO

repositório

● Todos os programas do sistema

● Cada desenvolvedor tem uma cópia local

● REPO = localORIGIN = remoto

● Sincroniza com o ORIGIN

repositório

● PROS– BACKUP

– OFFLINE

– LOCAL & REMOTO

● CONS– TEMPO OFFLINE

● RECOMEND– NÃO TRABALHE SEM ELES

– SINCRONIZE SEMPRE

repositório

● QUANDO USAR?– Quando criar um projeto

– Mesmo se for um projeto de teste

$ git init .$ git clone <url_do_origin>

repositório

ORIGINREPO

● REPOSITÓRIOuma cópia dos programas fonte

● COMMITsalva uma mudança no REPO (local)

● BRANCHfrente de trabalho independente e paralela

● MERGEjunta um branch no outro

● TAGdá nome a um commit

conceitos

COMMIT

commit

● Inclui uma manutenção no repositório

● Representa uma unidade de trabalho

● Conta o que aconteceu

commit

● PROS– HISTÓRICO

– UNDO

● CONS– SE ACOSTUMAR

– TEXTOS RUINS

commit

● QUANDO USAR– Sempre que quiser gravar uma alteração de

código no repositório

$ git add meu_template.html$ git commit

● REPOSITÓRIOuma cópia dos programas fonte

● COMMITsalva uma mudança no REPO (local)

● BRANCHfrente de trabalho independente e paralela

● MERGEjunta um branch no outro

● TAGdá nome a um commit

conceitos

BRANCH

branch

● Frente de trabalho independente e paralela

● Crie um para cada tópico (feature, bug ou experimentos)

● Todo repositório tem o master

branch

● PROS– BARATO

– LOCAL

– INDEPENDÊNCIA

● CONS– SINCRONISMO

– ELES “BROTAM”

● RECOMEND– NA DÚVIDA, CRIE

– INTEGRE SEMPRE

– APAGUE LOGO

branch

● QUANDO USAR?– Quando for mexer em algum programa

$ git checkout -b novo_branch$ git branch$ git push origin novo_branch$ git pull origin master

● REPOSITÓRIOuma cópia dos programas fonte

● COMMITsalva uma mudança no REPO (local)

● BRANCHfrente de trabalho independente e paralela

● MERGEjunta um branch no outro

● TAGdá nome a um commit

conceitos

MERGE

merge

● Integra (“junta”) um branch com outro

merge

● PROS– AUTOMÁTICO

– SEGURO

● CONS– SHIT HAPPENS (AKA

CONFLITOS)

● RECOMEND– INTEGRE COM

FREQUÊNCIA

merge

● QUANDO USAR?– Quando a manutenção feita em um branch

funcionar e eu quiser integrar com o restante do sistema

$ git checkout master$ git merge novo_branch

● REPOSITÓRIOuma cópia dos programas fonte

● COMMITsalva uma mudança no REPO (local)

● BRANCHfrente de trabalho independente e paralela

● MERGEjunta um branch no outro

● TAGdá nome a um commit

conceitos

TAG

tag

● Dá nome a um commit

● Funciona como um commit

tag

● PROS– FACILITA

REFERÊNCIA

– SIMPLES

● CONS– NÃO VAI NO PUSH,

POR PADRÃO

tag

● QUANDO USAR– Sempre que quiser identificar um commit

específico

– Exemplo: versão do sistema

$ git tag -a v0.2.5 -m 'Corrige bugs #654 e #8723'$ git push origin --tags$ git checkout v0.2.5

● REPOSITÓRIOuma cópia dos programas fonte

● COMMITsalva uma mudança no REPO (local)

● BRANCHfrente de trabalho independente e paralela

● MERGEjunta um branch no outro

● TAGdá nome a um commit

conceitos

pull & push

● Integra REPO e ORIGIN

● REPOSITÓRIOuma cópia dos programas fonte

● COMMITsalva uma mudança no REPO (local)

● BRANCHfrente de trabalho independente e paralela

conceitos

● MERGEjunta um branch no outro

● TAGdá nome a um commit

● PULL & PUSHintegra REPO e ORIGIN

referências

● https://www.atlassian.com/git/tutorial ● http://zurb.com/university/lessons/34 ● http://www.git-scm.com/book

top related