INTRODUÇÃO AO CONTROLE DE VERSÃO
COM GIT
FLISOL 2013
BRAYAN L. RASTELLI
Quem sou euBrayan Rastelli
Desenvolvedor web há 4 anos.
Programador Pleno na Tray Tecnologia
Follow me
http://twitter.com/heybrayan
http://fb.com/brayanrastelli
http://blog.brayanrastelli.com
http://github.com/brayann
Conceitos básicos
O que é controle de versão?
Por quê utilizá-lo?
Controle do histórico
Trabalho em equipe facilitado
Rollback de erros
Ramificação do projeto
Ramificações: Separação por BranchesRamificações: Separação por Branches
Tipos de controle de versão
Centralizado
Controle de versão centralizado, tendo apenas um servidor para gerenciar as versões.
Exemplo: SVN
Descentralizado
Cada diretório de trabalho é um repositório com habilidade total de controle, não dependente de acesso a uma rede ou a um servidor central.
Exemplo: GIT
Arquitetura SVN
Arquitetura SVN
Arquitetura GIT
Arquitetura GIT
Problemas do SVNDifícil para voltar em passos anteriores (rollback)
Conflitos “estranhos”
Dependente do servidor para tudo
Dificuldades no deploy
Geração de tags/branches
GITOriginalmente criado por Linus Torvalds
Desenvolvido para manter o kernel do Linux.
Descentralizado: não depende do servidor, pois cada repositório é um servidor.
Facilidade em alternar entre tags e branches, sem necessidade de baixar o projeto inteiro em outros diretórios
Redução de conflitos/merges.
Branches e tags bem mais simplificados.
Comandos básicosConfigurações básicas
git config --global user.name “Brayan”
git config --global user.email “[email protected]”
git config --global color.ui true
Criando seu repositório
Crie uma pasta, e execute o comando: git init
Comandos básicosgit add <arquivo ou pasta, ou . para add tudo>
git commit -m “Explicação sobre o commit”
git push {remote} {branch} {tag}
git status
git log {arquivo | pasta | tag | commit}
git branch {nome}
git checkout {branch | tag | commit | arquivo}
git merge {branch}
Comandos básicos
git diff {arquivo | pasta | commit}
git blame {arquivo | pasta}
git tag 1.0 (gera tag)
git commit (commit na ultima tag)
git push <remote> <branch> <tag>
git log <tag>
Mão na massaCriando repositorio
Adicionando arquivos
Ignorando arquivos do repositorio
Removendo arquivos do repositorio
Criando commits
Criar branches
Merge branches
Gerando tags
Revertendo commits
Enviando para o servidor GIT
Se der tempo, deploy online
Limpar cache gitignore
git rm -r --cached .
Limpar cache gitignore
git rm -r --cached .
Serviços GIT
Github - Mais utilizado para projetos open-source. www.github.com
Bitbucket - Repositórios privados free. www.bitbucket.org
Dúvidas?
Top Related