Controle de Versão comthe Global Information TrackerGIT
Controle de VersãoO controle de versão é um sistema queregistra as alterações realizadas em umarquivo ou conjunto de arqui...
Sistemas de Controle de Versão local● Copiar os arquivos para outro diretório local.● É fácil esquecer que você está no di...
Sistemas de Controle de Versão local
Sistemas de Controle de Versão centralizadosUm único servidor que contém todos os arquivos versionados.Pode oferecer algum...
Sistemas de Controle de Versão centralizados
Sistemas de controle de versão distribuído● Os clientes são idênticos no repositório.● Assim, se qualquer servidor morrer,...
Sistemas de controle de versão distribuído
● Sistema de controle de versão ditribuído.○ Consulta toda a história do projeto desde o primeiro commit○ Obter versões ma...
Fluxo de trabalhoSeus repositórios locais consitem em três "árvores" mantidas pelo git. a primeiradelas é sua Working Dire...
Branches (Ramos)Branches são utilizados para desenvolver funcionalidades isoladas umas dasoutras. O ramo master é o ramo p...
Branches (Ramos)Há a possibilidade de se desenvolver branches locais e trabalhar neles de acordocom as suas necessidades.C...
Sobrescrever alterações locaisTags (Rótulos)É recomendado criar rótulos para releases de software, pelo git é possível atr...
Comandos Básicos1. init○ Cria um novo repositório do git2. clone○ Cria uma cópia de trabalho em um repositório local○ Se v...
Git Hub / Bitbuckethttps://www.github.com/ | https://www.bitbucket.org● Git Hub != Git○ Git hub é um serviço público ou pr...
O que é?É um sistema de controle de versão distribuído.Quando aplicar?Em projetos, de grande ou pequeno porte, open source...
Bibliografia1. Pro Git : Everything you need to know about the git distributed source control toll - Scott Chacon -Appress...
Próximos SlideShares
Carregando em…5
×

Controle de Versão Distribuído com Git básico

773 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
773
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Controle de Versão Distribuído com Git básico

  1. 1. Controle de Versão comthe Global Information TrackerGIT
  2. 2. Controle de VersãoO controle de versão é um sistema queregistra as alterações realizadas em umarquivo ou conjunto de arquivos ao longodo tempo.
  3. 3. Sistemas de Controle de Versão local● Copiar os arquivos para outro diretório local.● É fácil esquecer que você está no diretório e,acidentalmente, sobreescreve para o arquivo erradoou copiar arquivos quando você não quis. Para lidarcom este problema, há muito tempo os programadoresdesenvolveram VCSs (Version Control Systems) locais quetiveram um simples banco de dados que guarda todasas alterações em arquivos sob controle de revisão.
  4. 4. Sistemas de Controle de Versão local
  5. 5. Sistemas de Controle de Versão centralizadosUm único servidor que contém todos os arquivos versionados.Pode oferecer algumas vantagens:● Todo mundo sabe até certo ponto o que todos fazem no projeto.● Os administradores têm um controle maior sobre quem pode fazer o que noprojeto.No entanto, esta configuração também tem algumas desvantagens:● Se este servidor cair por uma hora, ninguém pode colaborar ou salvar asalterações versionadas durante esse período.● Se o servidor corromper seu HD e não houverem backups, absolutamentetudo será perdido inclusive todo o histórico do projeto exceto nas máquinaslocais.
  6. 6. Sistemas de Controle de Versão centralizados
  7. 7. Sistemas de controle de versão distribuído● Os clientes são idênticos no repositório.● Assim, se qualquer servidor morrer, qualquer um dosrepositórios de clientes podem ser copiados de volta para oservidor para restaurá-lo.● Cada check-out é um backup completo de todos os dados.● Além disso, é possível trabalhar com vários repositóriosremotos, de modo que você pode colaborar com diferentesgrupos de pessoas de maneiras diferentes ao mesmo tempodentro do mesmo projeto.● Isto permite-lhe configurar vários tipos de fluxos de trabalhoque não são possíveis em sistemas centralizados, comomodelos hierárquicos.
  8. 8. Sistemas de controle de versão distribuído
  9. 9. ● Sistema de controle de versão ditribuído.○ Consulta toda a história do projeto desde o primeiro commit○ Obter versões mais antigas do projeto● Open Source● Multiplataforma● Rápido e eficiente● Comessou a ser desenvolvido em 2005 por Linux Torvalds para controle de versão do Kernel do linux.○ O sistema de versionamento inicial que antes era gratuíto passou a ser cobrado, daí surgiu anecessidade de se desenvolver um sistema de versionamento.● Pela linha de comando a produtividade pode ser maior, mas há opções de ferramentas gráficas:○ RabbitVCS Git○ Meld○ Em IDEs como o netbeansGithttp://git-scm.com/Linux○ Git (MSysGit)○ TortoiseGit○ ??????WindowsMac
  10. 10. Fluxo de trabalhoSeus repositórios locais consitem em três "árvores" mantidas pelo git. a primeiradelas é sua Working Directory que contém os arquivos vigentes. A segunda Indexque funciona como uma área temporária e finalmente a Head que apontam para aúltima confirmação que você fez.
  11. 11. Branches (Ramos)Branches são utilizados para desenvolver funcionalidades isoladas umas dasoutras. O ramo master é o ramo padrão quando se criar um novo repositório.Pode-se usar outros ramos para desenvolver e mesclá-los ao master após aconclusão.
  12. 12. Branches (Ramos)Há a possibilidade de se desenvolver branches locais e trabalhar neles de acordocom as suas necessidades.Criando um novo branch:retornando para o branch master:removendo um branch:Um branch não está disponível a outros a menos que o envie para o repositórioremoto:$ git checkout -b nome-do-branch$ git checkout master$ git branch -d nome-do-branch$ git push origin <branch>
  13. 13. Sobrescrever alterações locaisTags (Rótulos)É recomendado criar rótulos para releases de software, pelo git é possível atravésdo comando: $ git tag 1.0.0Com o comando: $ git checkout --<nome arquivo> é possivel sobrescrever asalterações locais. Dessa forma, será substituído as alterações na árvore de trabalhocom o conteúdo mais recente no Head. Alterações adicionadas no index, bem comonovos arquivos serão mantidos.Remover todas as alterações locais e recuperar o histórico mais recente do servidoré possível atráves dos comandos:$ git fetch origin$ git reset --hard origin/master
  14. 14. Comandos Básicos1. init○ Cria um novo repositório do git2. clone○ Cria uma cópia de trabalho em um repositório local○ Se você não clonou um repositório existente e deseja conectá-lo a um servidor remoto ocomando será git remote add origin <servidor>. Agora você será capaz de enviar suasalterações para o servidor remoto.3. add○ Adiciona o que fará parte do próximo commit4. commit [-m "Mensagem obrigatório"]○ Envia os arquivos adicionados para o Head, mas ainda não para o repositório remoto5. push○ Suas alterações agora estão no Head da sua cópia de trabalho local, após realizado o commit. Ocomando push serve para enviá-las para o repositório remoto, o comando completo é $ git pushorigin master. "master" pode ser substituída para qualquer ramificação desejada.6. pull○ Atualizar o repositório local.7. merge <branch>○ Mesclar alterações remotas, um outro ramo ao seu ramo ativo. O git tenta auto-mesclar asalterações. Infelizmente, isso nem sempre é possível e resulta em conflitos. Os Conflitos devemser editados manualmente, depois de alterados é necessário marcá-los como mesclados $ gitadd <arquivo>. Há a possibilidade de pré-visualizar os arquivos usando $ git diff <ramoorigem> <ramo destino>
  15. 15. Git Hub / Bitbuckethttps://www.github.com/ | https://www.bitbucket.org● Git Hub != Git○ Git hub é um serviço público ou privado, gratuíto ou pago, que permite armazenar repositórios viainternet e utiliza o git como sistema de versionamento.● Bitbucket○ Serviço gratuíto que permite armazenar repositórios privados via internet.
  16. 16. O que é?É um sistema de controle de versão distribuído.Quando aplicar?Em projetos, de grande ou pequeno porte, open source ou não, em que os arquivosnecessitam de controle de versão.Como utilizar?Basicamente conforme demonstrado na apresentação.Recapitulando...
  17. 17. Bibliografia1. Pro Git : Everything you need to know about the git distributed source control toll - Scott Chacon -Appress2. Version Control With Git - Jon Loelinger - OReilly3. Controlo de Versões Distribuído com Git - http://www.slideshare.net/NetPonto/controlo-de-versao-distribuido-com-git - Caio Proiete4. git guia prático - http://rogerdudler.github.com/git-guide/index.pt_BR.html - Roger Dudler

×