SlideShare uma empresa Scribd logo
Version all
the things
Andréa Zambrana
front-end @ via varejo [mobile]
@akfzambrana
http://andreazambrana.com.br
@abc_developers
2017.abcdevelopers.org
@frontladiesabc
facebook.com/front-ladies-abc
Alta troca de ideias sobre desenvolvimento
http://slackfemugabc.herokuapp.com/
Controle de versão
O que é?
Voltar / recuperar
Conhecer a história
Comparar
De quem é a culpa!
Version all the things [Workflows com Git]
Métodos
ctrl + c, ctrl + v
Compressão (gzip, zip, etc)
Version all the things [Workflows com Git]
Sistemas de controle
de versão
VCS (Version Controller System)
Local
Centralizado
Distribuído
Local
Histórico de revisões
Patch database
A
AB
ABCABC
v1
v2
v3
Version all the things [Workflows com Git]
Centralizado
Z ZA ZA
B
ZA
BC
Ana Carol Bia
r1 r2 r3 r4
+A +B +C
Tronco principal
Vantagens
É simples
Conhecimento sobre
quem faz o que
Maior controle
sobre as alterações
Desvantagem
Dependência
do servidor
Version all the things [Workflows com Git]
Merges
são complicados
Version all the things [Workflows com Git]
Distribuído
v3
v2
v1
Remoto
v3
v2
v1
Ana
+A
v3
v2
v1
Carol
+B +C
Vantagens
Cada pessoa
possui uma cópia do
repositório completo
É possível
trabalhar em paralelo
É rápido
Merges com conflitos
são relativamente
simples de resolver
Version all the things [Workflows com Git]
Funciona off-line
Version all the things [Workflows com Git]
Não íamos
falar sobre Git?
Sistema de controle
de versão distribuído
Version all the things [Workflows com Git]
Linus
Torvalds
Rápido
Design simples
Suporte robusto
para desenvolvimento
não linear
Muitos branchs paralelos
100% distribuído
Consegue lidar
com grandes projetos
Legal, mas porque o
Git é melhor?
Snapshots
Não diffs
Version all the things [Workflows com Git]
Version all the things [Workflows com Git]
Operações locais
Quase todas
Questão
de integridade
SHA-1 hash
Nem é tão importante, né?
Reversível
Version all the things [Workflows com Git]
Os três estados
de um arquivo
Modificado
Modified
Preparado
Staged
Consolidado
Commited
As três áreas
Diretório de trabalho
Working directory
Área de preparação
Staging area
Diretório .git
Repositório
Trabalho .git (Repositório)Preparação
Add
Commit
Checkout
Version all the things [Workflows com Git]
Version all the things [Workflows com Git]
Formas de utilização
Interface gráfica
https://git-scm.com/downloads/guis
Terminal
Console
Version all the things [Workflows com Git]
Version all the things [Workflows com Git]
https://github.com
https://bitbucket.org
Configurações
gitconfig
--system
--global
<sem parámetro>
Sistema
Usuário
Projeto
$ git config --global user.name "Nome
Sobrenome"
$ git config --global user.email
usuario@exemplo.com
$ git config --system core.editor vim
$ git config --list
Comandos
$ git <comando> --help
Na dúvida
Repositório local
Criar um repositório local
$ git init
Clonar um repositório
$ git clone <url>
$ git clone <url> nome
Ver o status dos arquivos
$ git status
Preparando arquivos para commit
$ git add dir/arquivo.txt
$ git add .
$ git rm .
$ git add . -a
Consolidando versão
$ git commit -m “Mensagem”
$ git commit -am “Mensagem”
$ git commit --amend
Visualizando as alterações
$ git diff arquivo.ext
Version all the things [Workflows com Git]
Visualizando a história
$ git log
E para saber de
quem é a culpa?
Version all the things [Workflows com Git]
Visualizando histórico linha a linha
$ git blame arquivo.ext
$ git blame arquivo.ext -L 50
Desfazendo alterações
$ git checkout arquivo.ext
$ git checkout .
Desfazendo commits
$ git reset HEAD~1
$ git reset HEAD~2 --hard
Enviando alterações ao servidor
$ git push
$ git push origin
Sincronizando repositório
$ git fetch
$ git fetch origin
$ git fetch -p
Trazendo alterações do servidor
$ git pull
$ git pull origin master
$ git pull --rebase origin master
Literalmente galhos
Branchs
FeatureZ
Bugfix A
Criando branchs
$ git branch nomeBranch
$ git checkout -b nomeBranch
Atenção!
A branch será uma
cópia da original
Version all the things [Workflows com Git]
Vida que segue!
commit, push, pull...
Trocando de branch
$ git checkout nomeBranch
Excluindo branchs
$ git branch -D nomeBranch
$ git push origin :nomeBranch
Merge
Fundindo branchs
Version all the things [Workflows com Git]
$ git merge nomeBranch
$ git merge --no-ff nomeBranch
Mesclando branchs
Merge fast-forward
Merge no fast-forward
E se der conflito?
Version all the things [Workflows com Git]
Meld
http://meldmerge.org/
colocar print do meld para resolver
conflitos
O nome talk era...
Workflows com Git
Version all the things [Workflows com Git]
Centralizado
Feature branch
Gitflow
Fork
Centralizado
Mais simples
Melhor adaptação
para quem veio
de um Sistema de
Controle Centralizado
FeatureA
BugfixB
Master
FeatureA
BugfixB
Master
Rebase
Vantagens
Comparado com SVN
Cada pessoa tem uma
cópia do repositório
Suporte robusto a
branchs e merges
Desvantagens
Tudo no mesmo tronco
Grande chance
de ter conflitos
Feature branch
Master
Ana
Bia
FeatureA
Bugfix B
Vantagens
Trabalho em paralelo
Features e branchs
são independentes
Várias branchs
para cada feature
Merges mais simples
Menor chance
de ter conflitos
Uso de Pull request
E code review
Desvantagem
Maior complexidade
Gitflow
Feat A
v0.3
Bug Z
Master
v0.1
Desenv
v0.2 v0.3
Desvantagem
Alta complexidade
Nossa versão
Bira e Andréa
Feat A
v0.3
Bug Z
Master
v0.1 v0.2 v0.3
Desenv
Master
v0.1
Bug Z
v0.2
v0.3
v0.3
Feat A
Fork
Garfo, literalmente
Utilizado por
projetos open-source
Várias cópias do
repositório oficial
Cada cópia
é independente
Próprio fluxo e branchs
Mudanças enviadas
via Pull request
Podem ser aceitas ou não
Dúvidas?
Vlw!!!
@akfzambranaVia Varejo 2017

Mais conteúdo relacionado

PDF
Version all the things - Workshop
PPTX
Git + git hub
PDF
Efficient rails
PDF
Git - Visão Geral
PDF
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
PDF
Use o git e perca o medo de errar
DOCX
Git flow no projeto
PDF
Git na prática - Minicurso III SEICOM
Version all the things - Workshop
Git + git hub
Efficient rails
Git - Visão Geral
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Use o git e perca o medo de errar
Git flow no projeto
Git na prática - Minicurso III SEICOM

Semelhante a Version all the things [Workflows com Git] (20)

PPTX
Git - Fluxo do Versionamento adotado
PPTX
Git para não manjadores
PDF
GIT: O Commit, o Fluxo e a Tag
PDF
Git 101
PDF
Processo de desenvolvimento na samba
PDF
Controle de versão e colaboração com Git
PDF
Controle de versão com Git
PPTX
Git do Zero - Campus Party #12
PDF
Introdução ao Git - fs2w - GrupySP
PDF
Controle de versionamento com Git
PDF
Git workshop
PPTX
Git - Não perca o que estava funcionando!
PDF
Aprendendo Git
PDF
Git Básico
PDF
[4Soft] Git para iniciantes
PDF
PDF
Controle de Versões com Git
PDF
Minicurso GIT 2022 - SENAC
PPTX
Git - Fluxo do Versionamento adotado
Git para não manjadores
GIT: O Commit, o Fluxo e a Tag
Git 101
Processo de desenvolvimento na samba
Controle de versão e colaboração com Git
Controle de versão com Git
Git do Zero - Campus Party #12
Introdução ao Git - fs2w - GrupySP
Controle de versionamento com Git
Git workshop
Git - Não perca o que estava funcionando!
Aprendendo Git
Git Básico
[4Soft] Git para iniciantes
Controle de Versões com Git
Minicurso GIT 2022 - SENAC
Anúncio

Mais de Andréa Zambrana (12)

PDF
Caipirinha CSS
PDF
Caipirinha CSS
PDF
Viajando no front
PDF
Sass maps, my precious! 2.0
PDF
Curso front-end - Aula 004 - Comandos git (cont.)
PDF
Curso front-end - Aula 003 - Comandos git
PDF
Curso front-end - Aula 002 - Git
PPTX
Curso front-end - Aula 001
PDF
Sass maps, my precious!
PDF
Sass - css bomba[do]
PDF
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
PDF
Acessibilidade web, perda de tempo?
Caipirinha CSS
Caipirinha CSS
Viajando no front
Sass maps, my precious! 2.0
Curso front-end - Aula 004 - Comandos git (cont.)
Curso front-end - Aula 003 - Comandos git
Curso front-end - Aula 002 - Git
Curso front-end - Aula 001
Sass maps, my precious!
Sass - css bomba[do]
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
Acessibilidade web, perda de tempo?
Anúncio

Último (19)

PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Processos na gestão de transportes, TM100 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Apple Pippin Uma breve introdução. - David Glotz
Aula04-Academia Heri- Tecnologia Geral 2025
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula 18 - Manipulacao De Arquivos python
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express

Version all the things [Workflows com Git]