Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sistema de Versionamento de Código - GIT

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Sistema de Versionamento de Código - GIT

Aprenda a versionar seus documentos e projetos com o git.

Avatar for Thiago Filadelfo

Thiago Filadelfo

July 09, 2013
Tweet

Other Decks in Programming

Transcript

  1. 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.
  2. 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 ? [email protected]
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. • 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
  11. • 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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