Controle de versão - GIT
-
Upload
jefferson-lima -
Category
Environment
-
view
82 -
download
1
Transcript of Controle de versão - GIT
![Page 1: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/1.jpg)
Controle de VersãoGit
![Page 2: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/2.jpg)
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
![Page 3: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/3.jpg)
Conceitos Básicos
• Checkout
• Update
• Commit
• Branch
• Tag
• Trunk
![Page 4: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/4.jpg)
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
![Page 5: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/5.jpg)
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
![Page 6: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/6.jpg)
Aplicações do Git
• Linux Kernel
• Gnome Foundation
• Android
• Ruby on Rails
• GitHub (social code)
![Page 7: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/7.jpg)
Branches
• Origem comum
• Avançam paralelamente
• Fácil integração
![Page 8: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/8.jpg)
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
![Page 9: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/9.jpg)
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
![Page 10: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/10.jpg)
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)
![Page 11: Controle de versão - GIT](https://reader036.fdocuments.net/reader036/viewer/2022082421/55c9c437bb61eb4b528b47b1/html5/thumbnails/11.jpg)
Resumo
• O que são branches?
• Por que usar branches?
• Representação de um Branch no Git
• Como funciona o Merge