Curso front-end
Aula 002 - Git
Front Ladies ABC
Controle de versão
O que é?
Blz, mas para que serve?
Voltar e/ou recuperar
História
Log
Comparação
A culpa é de quem?
Brincadeira =P
Tá, mas e quais arquivos
posso controlar?
Métodos para controle
de versão
ctrl + c, ctrl + v
Compressão (gzip, winrar, zip, etc)
#sqn
Não!
Sistemas de controle de
versão
VCS (Version Controller System)
Local
Centralizado
Distribuido
Sistemas de controle de
versão local
LVCS (Local Version Control Systems)
Histórico de revisões
Patch database
RCS
Revision Controller System
Sistemas de controle de
versão centralizados
CVCS (Centralized Version Control System)
CVS
Subversion
Perforce
Vantagens
Conhecimento sobre quem faz o que
Maior controle sobre as alterações
Dependencia do servidor
Desvantagem
Sistemas de controle de
versão distribuídos
DVCS (Distributed Version Control
Systems)
Vantagens
Vários repositórios
Trabalho em conjunto
Trabalho paralelo
Vários workflows
História do git
“As with many great things in
life, Git began with a bit of
creative destruction and fiery
controversy
A Short History of Git - Livro Pro Git
1991 2002 2005
Linha do tempo
Patches BitKeeper Git
Rápido
Design simples
Suporte robusto
para desenvolvimento
não linear
Muitos branchs paralelos
100% distribuído
Consiga lidar
com grandes projetos
TOP BAGARAI
Git
O que é?
Sistema de controle de
versão distribuído
Diferenciais
Snapshots
Não diffs
Operações locais
Quase todas
Ou seja...
Dá para trabalhar
offline
*___*
Questão de integridade
SHA-1 hash
24b9da6552252987aa493b52f8696cd6d3b00373
Geralmente só inclui
dados
Reversível
Por que isso é importante?
Os três estados
Consolidado
commited
Modificado
modified
Preparado
staged
Diretório do Git
.git directory ou repositorio
Diretório de trabalho
Working directory
Área de preparação
Staging área
Bora brincar um pouco
=P
https://git-scm.com/book/pt-
br/v1/Primeiros-passos-Instalando-Git
https://git-for-windows.github.io/
http://woliveiras.com.
br/posts/instalando-o-git-windows/
Configuração do Git
gitconfig
/etc/gitconfig
C:
ProgramDataGit
config
--system
Configurações
do sistema
--global
Configurações
de cada usuário ~/.gitconfig
C:Users$USER
.git/config
Configurações
de cada projeto
Identidade
$ git config --global user.name "Nome
Sobrenome"
$ git config --global user.email
usuario@exemplo.com
Editor padrão
$ git config --global core.editor vim
$ git config --global core.editor notepad
Vejamos como ficaram as
configurações
$ git config --list
Algo super útil
$ git comando-qualquer --help
A tela preta!
Interfaces gráficas
https://git-scm.com/downloads/guis
Livro “Pro Git”
Scott Chacon e Ben Straub
Original em inglês: https://git-scm.com/book/en/v2
Tradução de Eric Douglas: https://leanpub.com/pro-
git
Material de apoio
Por hoje chega!
Front Ladies ABC Aula 002
Imagens:
https://git-scm.com/book/en/v2/Getting-Started-About-
Version-Control
http://giphy.com/
Créditos
https://www.andrew.cmu.edu/course/98-
174/lecturenotes/chapter1.html
https://en.wikipedia.org/wiki/Version_control
http://blog.appfusions.com/cvcs-vs-dvcs-and-the-pros-
and-cons-of-dvcs-git/
http://www.sitepoint.com/version-control-software-2014-
what-options/
Referências

Curso front-end - Aula 002 - Git