Git – conceitos básicos 
By @viniciusban
conceitos 
● REPOSITÓRIO 
uma cópia dos programas fonte 
● COMMIT 
salva uma mudança no REPO (local) 
● BRANCH 
frente de trabalho independente e paralela 
● MERGE 
junta um branch no outro 
● TAG 
dá nome a um commit
REPOSITÓRIO
repositório 
● Todos os programas do 
sistema 
● Cada desenvolvedor 
tem uma cópia local 
● REPO = local 
ORIGIN = 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 
REPO ORIGIN
conceitos 
● REPOSITÓRIO 
uma cópia dos programas fonte 
● COMMIT 
salva uma mudança no REPO (local) 
● BRANCH 
frente de trabalho independente e paralela 
● MERGE 
junta um branch no outro 
● TAG 
dá nome a um commit
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
conceitos 
● REPOSITÓRIO 
uma cópia dos programas fonte 
● COMMIT 
salva uma mudança no REPO (local) 
● BRANCH 
frente de trabalho independente e paralela 
● MERGE 
junta um branch no outro 
● TAG 
dá nome a um commit
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
conceitos 
● REPOSITÓRIO 
uma cópia dos programas fonte 
● COMMIT 
salva uma mudança no REPO (local) 
● BRANCH 
frente de trabalho independente e paralela 
● MERGE 
junta um branch no outro 
● TAG 
dá nome a um commit
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
conceitos 
● REPOSITÓRIO 
uma cópia dos programas fonte 
● COMMIT 
salva uma mudança no REPO (local) 
● BRANCH 
frente de trabalho independente e paralela 
● MERGE 
junta um branch no outro 
● TAG 
dá nome a um commit
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
conceitos 
● REPOSITÓRIO 
uma cópia dos programas fonte 
● COMMIT 
salva uma mudança no REPO (local) 
● BRANCH 
frente de trabalho independente e paralela 
● MERGE 
junta um branch no outro 
● TAG 
dá nome a um commit
pull & push 
● Integra REPO e ORIGIN
conceitos 
● REPOSITÓRIO 
uma cópia dos programas 
fonte 
● COMMIT 
salva uma mudança no 
REPO (local) 
● BRANCH 
frente de trabalho 
independente e paralela 
● MERGE 
junta um branch no outro 
● TAG 
dá nome a um commit 
● PULL & PUSH 
integra REPO e ORIGIN
referências 
● https://www.atlassian.com/git/tutorial 
● http://zurb.com/university/lessons/34 
● http://www.git-scm.com/book

Git conceitos

  • 1.
    Git – conceitosbásicos By @viniciusban
  • 2.
    conceitos ● REPOSITÓRIO uma cópia dos programas fonte ● COMMIT salva uma mudança no REPO (local) ● BRANCH frente de trabalho independente e paralela ● MERGE junta um branch no outro ● TAG dá nome a um commit
  • 3.
  • 4.
    repositório ● Todosos programas do sistema ● Cada desenvolvedor tem uma cópia local ● REPO = local ORIGIN = remoto ● Sincroniza com o ORIGIN
  • 5.
    repositório ● PROS – BACKUP – OFFLINE – LOCAL & REMOTO ● CONS – TEMPO OFFLINE ● RECOMEND – NÃO TRABALHE SEM ELES – SINCRONIZE SEMPRE
  • 6.
    repositório ● QUANDOUSAR? – Quando criar um projeto – Mesmo se for um projeto de teste $ git init . $ git clone <url_do_origin>
  • 7.
  • 8.
    conceitos ● REPOSITÓRIO uma cópia dos programas fonte ● COMMIT salva uma mudança no REPO (local) ● BRANCH frente de trabalho independente e paralela ● MERGE junta um branch no outro ● TAG dá nome a um commit
  • 9.
  • 10.
    commit ● Incluiuma manutenção no repositório ● Representa uma unidade de trabalho ● Conta o que aconteceu
  • 11.
    commit ● PROS – HISTÓRICO – UNDO ● CONS – SE ACOSTUMAR – TEXTOS RUINS
  • 12.
    commit ● QUANDOUSAR – Sempre que quiser gravar uma alteração de código no repositório $ git add meu_template.html $ git commit
  • 13.
    conceitos ● REPOSITÓRIO uma cópia dos programas fonte ● COMMIT salva uma mudança no REPO (local) ● BRANCH frente de trabalho independente e paralela ● MERGE junta um branch no outro ● TAG dá nome a um commit
  • 14.
  • 15.
    branch ● Frentede trabalho independente e paralela ● Crie um para cada tópico (feature, bug ou experimentos) ● Todo repositório tem o master
  • 16.
    branch ● PROS – BARATO – LOCAL – INDEPENDÊNCIA ● CONS – SINCRONISMO – ELES “BROTAM” ● RECOMEND – NA DÚVIDA, CRIE – INTEGRE SEMPRE – APAGUE LOGO
  • 17.
    branch ● QUANDOUSAR? – Quando for mexer em algum programa $ git checkout -b novo_branch $ git branch $ git push origin novo_branch $ git pull origin master
  • 18.
    conceitos ● REPOSITÓRIO uma cópia dos programas fonte ● COMMIT salva uma mudança no REPO (local) ● BRANCH frente de trabalho independente e paralela ● MERGE junta um branch no outro ● TAG dá nome a um commit
  • 19.
  • 20.
    merge ● Integra(“junta”) um branch com outro
  • 21.
    merge ● PROS – AUTOMÁTICO – SEGURO ● CONS – SHIT HAPPENS (AKA CONFLITOS) ● RECOMEND – INTEGRE COM FREQUÊNCIA
  • 22.
    merge ● QUANDOUSAR? – 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
  • 23.
    conceitos ● REPOSITÓRIO uma cópia dos programas fonte ● COMMIT salva uma mudança no REPO (local) ● BRANCH frente de trabalho independente e paralela ● MERGE junta um branch no outro ● TAG dá nome a um commit
  • 24.
  • 25.
    tag ● Dánome a um commit ● Funciona como um commit
  • 26.
    tag ● PROS – FACILITA REFERÊNCIA – SIMPLES ● CONS – NÃO VAI NO PUSH, POR PADRÃO
  • 27.
    tag ● QUANDOUSAR – 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
  • 28.
    conceitos ● REPOSITÓRIO uma cópia dos programas fonte ● COMMIT salva uma mudança no REPO (local) ● BRANCH frente de trabalho independente e paralela ● MERGE junta um branch no outro ● TAG dá nome a um commit
  • 29.
    pull & push ● Integra REPO e ORIGIN
  • 30.
    conceitos ● REPOSITÓRIO uma cópia dos programas fonte ● COMMIT salva uma mudança no REPO (local) ● BRANCH frente de trabalho independente e paralela ● MERGE junta um branch no outro ● TAG dá nome a um commit ● PULL & PUSH integra REPO e ORIGIN
  • 31.
    referências ● https://www.atlassian.com/git/tutorial ● http://zurb.com/university/lessons/34 ● http://www.git-scm.com/book