Controle de versão - GIT
-
Upload
jefferson-lima -
Category
Environment
-
view
82 -
download
1
Transcript of Controle de versão - GIT
Controle de VersãoGit
Sobre o Git
• Criado em 2005
• Software distribuído
• Controle de versionamento de documento
• O que mudou? Quando mudou? Quem mudou?
• Auxilia no trabalho em equipe e no acesso ao código
• Auxilia na entrega parcial do produto
Conceitos Básicos
• Checkout
• Update
• Commit
• Branch
• Tag
• Trunk
Características
Sistema de Controle de Versão Distribuído (DVCS)
• Desenvolvimento distribuído ou local
• Revisões incrementais
• Auto merge eficiente
• Chave publica para autenticação
Características
• Dados são snapshots
• Possui referência para os commits
• “Linka” o commit anterior
Git armazena dados como snapshots do projeto ao longo do tempo
Aplicações do Git
• Linux Kernel
• Gnome Foundation
• Android
• Ruby on Rails
• GitHub (social code)
Branches
• Origem comum
• Avançam paralelamente
• Fácil integração
Branches
• Vantagens:Repriorização de pendências
Organização do fluxo de trabalho
Branch para produção e para desenvolvimento
“Versiona” experimentos
Se ocorrer tudo certo vai para o trunk, caso contrário é descartado
Representação de branches
• Ponteiro para um commit
• Vários branches para o mesmo commit Nenhuma cópia é feita
Referências são criadas
• Só um branch está ativo (HEAD)
• Novos commits avançam o HEAD
• Podemos atribuir um HEAD a outro branch
master
branch1
branch2
Commit inicial
(HEAD)
branch2(HEAD)
Segundo commit
Terceiro commit
(HEAD)
• Um novo commit avança este branch em paralelo
• Ramificação paralela
branch1(HEAD)
Commit paralelo
branch2
Merge
• Agregação de ramificações
• Unifica branches com históricos distintos
• Cria um novo commit com mais de um “pai”
• Avança o HEAD
commit inicial
commi1
commit2(HEAD)
branch1
master
Merge (branch1 e o master)
master(HEAD)
Resumo
• O que são branches?
• Por que usar branches?
• Representação de um Branch no Git
• Como funciona o Merge