Workshop sistema de versionamento de código - git

490 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
490
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Workshop sistema de versionamento de código - git

  1. 1. Sistema de Versionamento de Código - GIT Thiago Ribeiro Filadelfo Encontre-me no:
  2. 2. THIAGOFILADELFO.COM.BR | BUILDERS CODES Sobre Thiago Ribeiro Filadelfo Formado em Ciência da Computação pela Faculdade da Fundação Instituto Tecnológico de Osasco, pós-graduado pela Escola Politécnica - USP e FIAP. Desde 2006 atuando na área de desenvolvimento de software, com experiências em web, desktop, mobile e outras tecnologias. Atualmente focado no desenvolvimento de aplicações para Android e iOS.
  3. 3. THIAGOFILADELFO.COM.BR | BUILDERS CODES Agenda 1. Motivação 2. Introdução ao Controle de Versão 3. Conceitos de Git 4. Mão na massa !? Hand-on 5. Referências para estudos 6. Perguntas Bateu aquela dúvida ? Enroscou ? thiago.filadelfo@gmail.com Lembrente: Deixar baixando o instalador do GitHub. http://github.com, no tópico: The power of GitHub on your desktop abaixo disto tem um botão de dowload
  4. 4. Já pensou em fazer um zip do seu projeto ? - Arquivos zips muito grande tendem a corromperem; - Muitos arquivos com tags indicando qual é a versão (-V1) ou datados (-04072013); - Dificil de armazenar e migrar; THIAGOFILADELFO.COM.BR | BUILDERS CODES Motivação
  5. 5. Gastou horas para achar o maldito bug? - Quando não controlamos os documentos, não sabemos quais alterações foram feitas. - Gasta-se muito tempo para localizar o arquivo que retorne ou que solucione o bug; THIAGOFILADELFO.COM.BR | BUILDERS CODES
  6. 6. Perdeu o controle do change log do projeto ? - Impossível afirmar que estamos evoluindo no projeto; - Dificuldade de manter informado os envolvidos as novidades daquele build ou release; THIAGOFILADELFO.COM.BR | BUILDERS CODES
  7. 7. Falaremos de uma ferramenta que contempla muitas destas funcionalidades Gestão de controle disciplina da Ciência da Computação e Engenharia de software com finalidades de gerir diferentes versões de qualquer documento. Sistema de controle de versão ampliamente utilizado em fábricas e softwares, com o propósito de aproximar os envolvidos, gerir versões e produzir aplicativos executável estáveis. THIAGOFILADELFO.COM.BR | BUILDERS CODES Controle de versão
  8. 8. Introdução ao Git / GitHub ● Conceituação ○ Git é um sistema de versionamento de documento; ○ GitHub é um serviço (gratuito e pago) cloud do git; ○ Existem uma série de vantagens de seu uso e a comunidade opensource contribuiu para que se tornasse popular; ● Histórico ○ CVS, SVN ○ Mercurial, Sourceface (Microsoft) ○ Git THIAGOFILADELFO.COM.BR | BUILDERS CODES
  9. 9. Alinhados ? Então mão na massa !! ● Criar um projeto mkdir workshop_git cd workshop_git ● Iniciar o projeto com o git (shell ?) 1. > git init 2. > touch .gitignore 3. > git status 4. > git add . 5. > git commit -m "texto" 6. > git log THIAGOFILADELFO.COM.BR | BUILDERS CODES
  10. 10. Aprofundando os conhecimentos (Git) ● git init Inicializa a criação de um repositório ● touch .gitignore Cria um arquivo de nome .gitignore; Esse arquivo são usados para indicar ao git quais pasta e/ou arquivos que não serão controlados. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  11. 11. ● git status Mostra a situação (estados) atual dos arquivos controlados. ● git add . ou git add <file> Adiciona os arquivos para compor o release de alterações. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  12. 12. ● git commit -m ¨texto¨ Consolida as alterações dos arquivos adicionados. ● git log Exibe todos o histórico de consolidações. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  13. 13. Fácil não ? Complicando um pouco !! ● Quero fazer alterações e deixar uma cópia executando, como fazer ? Ramificadores: são utilizados para desenvolver funcionalidades isoladas umas das outras. O branch(ramificador) master é o branch "padrão" quando você cria um repositório. ● git checkout -b <nome> Cria um branch com um determinado nome. Geralmente utilizamos a funcionalidade pela qual serão implementados as alterações. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  14. 14. Mexendo com as ramificações ● git checkout <nome> Seleciona um branch determinado ● git branch -d <nome> Remove um determinado branch. ● git merge <nome> Junta um branch ao outro branch. 1. > git checkout master 2. > git merge <branch> THIAGOFILADELFO.COM.BR | BUILDERS CODES
  15. 15. Fiz besteira ? Eai, como volto? ● git checkout --<nome_arquivo> Restaura para a última alteração commitada realizada. 1. > git checkout --teste.java ● git diff <branch_1> <branch_2> ou git diff <file_1> <file_2> Realiza uma comparação de modificação dos arquivos ou dos branchs THIAGOFILADELFO.COM.BR | BUILDERS CODES
  16. 16. Tudo bem ! Mas como faço um projeto ficar no cloud? ● git remote add origin <url> Adiciona a url de servidor remoto do git (GitHub /Bitbucket). ● git push origin master Envia as alterações realizadas para o servidor, podendo ser o master ou outro branch. ● git pull Recupera as alterações do servidor remoto. THIAGOFILADELFO.COM.BR | BUILDERS CODES Branch
  17. 17. O comando pull não funcionou e agora? ● git fetch origin Remove todas as alterações locais. ● git reset --hard origin/master Força a recuperação da versão mais recente do servidor remoto Pode usar sempre ? Pessoalmente não é aconselhável !!! Pois pode perder o propósito do controle de versão. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  18. 18. Não gostei do GitHub ! Tem outro ? ● GitHub Beneficios: - Quantidades ilimitadas de projetos públicos e colaboradores para esse projeto Desvantagens - Projetos privados somente na conta paga. ● BitBucket Beneficios: - Quantidades ilimitadas de projetos privados e públicos. Desvantagens - Para os projetos privados número de colaboradores limitado (5) THIAGOFILADELFO.COM.BR | BUILDERS CODES
  19. 19. thiago.filadelfo@gmail.com @trfiladelfo COMPANYNAME.COM | PRESENTATION Dúvidas ? Perguntas ? Iniciada a sessão de discussão !! Obrigado
  20. 20. Referências ● http://rogerdudler.github.io/git- guide/index.pt_BR.html ● http://github.com/blog Força a recuperação da versão mais recente do servidor remoto Experts ? http://training.github.com

×