SlideShare uma empresa Scribd logo
Por Jonata Weber
jonataa@gmail.com
+
Grupo
Práticas de Software
Agenda
 Controle de Versão
 O que é?
 Benefícios
 Por que utilizar?
 Modelos
 Git
 Noções básicas
 Três Estados
 Prática
 Github
Controle de Versão (VCS)
 O que é?
 O controle de versão é um sistema que registra as
mudanças feitas em um arquivo ou um conjunto de
arquivos ao longo do tempo de forma que você possa
recuperar versões específicas
 Benefícios
 Histórico
 Quem, quando e onde?
 Colaboração
 Trabalho paralelo
 Variações no Projeto
Avaliação Rápida
 Alguém já sobrescreveu o código de outra pessoa
por acidente e acabou perdendo as alterações?
 Tem dificuldades em saber quais as alterações
efetuadas em um software, quando foram feitas e
quem fez?
 Tem dificuldade em recuperar o código de uma
versão anterior que está em produção?
 Tem problemas em manter variações do sistema ao
mesmo tempo?
Avaliação Rápida
 Se alguma das perguntas anteriores teve um SIM
como resposta, então sua equipe necessita
urgentemente de um sistema para controle de
versão!
Controle de versão é fundamental para o
desenvolvimento de software
Como funciona um VCS?
Ferramentas
 As melhores são Open Source
 Centralizado
 Subversion, por exemplo.
 Distribuído
 Exemplo: Mercurial e o Git
VCS Centralizado
VCS Distribuído
VCS Distribuído
 Pull (Puxar)
 Atualiza o repositório local
 Push (Empurrar)
 Atualiza o repositório remoto
VCS Distribuído
Noções Básicas de Git
Snapshots, E Não Diferenças
VCS Convencionais
Snapshots, E Não Diferenças
Git
Noções Básicas de Git
 Quase todas as operações são locais
 Menor latência
 Histórico do projeto no seu disco local
 Trabalho offline
 Git tem integridade
 Checksum (hash SHA-1)
24b9da6552252987aa493b52f8696cd6d3b00373
 Fazer um commit de um snapshot no Git, é muito
difícil que você o perca
Noções Básicas de Git
 Os Três Estados
 Modificado (modified)
 Preparado (staged)
 Consolidado (committed)
Os Três Estados
Os Três Estados
 O workflow básico do Git pode ser descrito assim:
1. Você modifica arquivos no seu diretório de trabalho.
2. Você seleciona os arquivos, adicionando snapshots
deles para sua área de preparação.
3. Você faz um commit, que leva os arquivos como eles
estão na sua área de preparação e os armazena
permanentemente no seu diretório Git.
Instalando Git
 Baixar snapshot mais recente:
 http://git-scm.com/download
 Instalando no Linux
$ yum install git-core
$ apt-get install git-core
 Instalando no Mac
 http://code.google.com/p/git-osx-installer
Instalando Git
 http://msysgit.github.com
 Cliente SSH e GUI padrão
 Sua Identidade
$ git config --global user.name “Jonata Weber"
$ git config --global user.email jonataa@gmail.com
Git na Prática
 Criar um novo repositório
git init
 Obter um repositório
git clone /caminho/para/o/repositório
git clone usuário@servidor:/caminho/para/o/repositório
 Adicionar e confirmar (staging)
git add <arquivo>
git add *
 Commit
git commit -m "comentários das alterações“
 Enviar alterações
git push origin master
 Adicionar um servidor remoto
git remote add origin <servidor>
 Log de commits
git log
Exemplo Prático
1. Criar e movimentar um repositório local
2. Empurrar (Push) para um repositório remoto
3. Puxar (Pull) de um repositório remoto
4. Deploy automático
Github
 GitHub é um Serviço de Web Hosting Compartilhado
para projetos que usam o controle de versionamento
Git.
 https://github.com/
 É escrito em Ruby on Rails.
 Planos comerciais e gratuitos para projetos de
código aberto.
 Possui algumas funcionalidades
 Rede social como feeds, followers, wiki e um gráfico que
mostra como os desenvolvedores trabalham as versões
de seus repositórios.
Referências
 http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/conceitos_basicos_controle_vers
ao_centralizado_e_distribuido.php?pagNum=3
 http://git-scm.com/book/pt-br/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o
 http://rogerdudler.github.io/git-guide/index.pt_BR.html
 http://www.akitaonrails.com/2010/02/13/deploy-com-git-push
 https://devcenter.heroku.com/articles/git
 http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/
 http://www.contagia.com.br/blog/git-pra-que-serve/
 http://marklodato.github.io/visual-git-guide/index-en.html
 http://www.abstraindo.com/ambiente-de-desenvolvimento/vagrant-de-forma-simples-parte-1/
Obrigado!!

Mais conteúdo relacionado

PPTX
Git & GitHub for beginners
PPTX
Sistemas de Controle de Versão
PPTX
Controlo de Versões Distribuído com Git - C. Augusto Proiete
PDF
Apresentação controle de versão
PPTX
MiniCurso de Git e Github - UNIFG PIE
PDF
Git github tortoise git
PPTX
Git e Sistemas de Controle de Versão
Git & GitHub for beginners
Sistemas de Controle de Versão
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Apresentação controle de versão
MiniCurso de Git e Github - UNIFG PIE
Git github tortoise git
Git e Sistemas de Controle de Versão

Mais procurados (20)

PDF
Gitlab CI/CD com python
PPT
Svn - grupo de estudos sol7
PDF
Docker, jenkins e gradle para tomar o controle de sua entrega
PPSX
Git e boas praticas!
PPTX
Git - Conceitos
PDF
Lançando versões em um clique - deploy contínuo
PDF
Git/GitHub
PDF
Git & Delphi
PPTX
Git do Zero - Campus Party #12
PPTX
TDD - Test Driven Development
PDF
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
PDF
Treinamento git - Papos RBSDev
PDF
Git that like a boss - Colaborando com GITHUB
PDF
Controle de versão e colaboração com Git
PPTX
Incluindo Ferramentas de Segurança no Pipeline
PDF
Controle de versão com git
PDF
Git that like a boss - Dos comandos básicos aos branches.
PDF
Git e Gitlab para Iniciantes
PDF
UAI Test - Introdução Prática ao Jenkins
PDF
Use o git e perca o medo de errar
Gitlab CI/CD com python
Svn - grupo de estudos sol7
Docker, jenkins e gradle para tomar o controle de sua entrega
Git e boas praticas!
Git - Conceitos
Lançando versões em um clique - deploy contínuo
Git/GitHub
Git & Delphi
Git do Zero - Campus Party #12
TDD - Test Driven Development
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Treinamento git - Papos RBSDev
Git that like a boss - Colaborando com GITHUB
Controle de versão e colaboração com Git
Incluindo Ferramentas de Segurança no Pipeline
Controle de versão com git
Git that like a boss - Dos comandos básicos aos branches.
Git e Gitlab para Iniciantes
UAI Test - Introdução Prática ao Jenkins
Use o git e perca o medo de errar
Anúncio

Semelhante a Git + Github (20)

PPTX
Git - Sistema Descentralizado de Controle de Versões
PDF
GIT Básico
PPTX
Sistemas de controle de versão
PDF
Aula de git luiza code - Slides git e github
PDF
PPTX
Sistemas de controle de versão
PPTX
Controlo de Versões Distribuído com Git
PDF
Controle de versão com Git
PDF
Minicurso GIT 2022 - SENAC
PPTX
Workshop de Introdução ao Git GitHub
PPS
Gerência de Configuração
PDF
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
PDF
GitHub_versao2024-githubGitHub_versao2024-github
PPTX
Controle de versão com e git
PDF
Versionamento com git
PDF
Intervalo técnico Git/SVN
PPTX
Aula 4 gerência de configuração de software1
PDF
Learn about Git - Git Tutorial
PPT
CVS - Slides Parte 1 - Introdução
PPTX
Primeiros passos - GIT
Git - Sistema Descentralizado de Controle de Versões
GIT Básico
Sistemas de controle de versão
Aula de git luiza code - Slides git e github
Sistemas de controle de versão
Controlo de Versões Distribuído com Git
Controle de versão com Git
Minicurso GIT 2022 - SENAC
Workshop de Introdução ao Git GitHub
Gerência de Configuração
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
GitHub_versao2024-githubGitHub_versao2024-github
Controle de versão com e git
Versionamento com git
Intervalo técnico Git/SVN
Aula 4 gerência de configuração de software1
Learn about Git - Git Tutorial
CVS - Slides Parte 1 - Introdução
Primeiros passos - GIT
Anúncio

Último (19)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Apple Pippin Uma breve introdução. - David Glotz
Aula04-Academia Heri- Tecnologia Geral 2025
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
COBITxITIL-Entenda as diferença em uso governança TI
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Aula 18 - Manipulacao De Arquivos python
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx

Git + Github

  • 2. Agenda  Controle de Versão  O que é?  Benefícios  Por que utilizar?  Modelos  Git  Noções básicas  Três Estados  Prática  Github
  • 3. Controle de Versão (VCS)  O que é?  O controle de versão é um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo de forma que você possa recuperar versões específicas  Benefícios  Histórico  Quem, quando e onde?  Colaboração  Trabalho paralelo  Variações no Projeto
  • 4. Avaliação Rápida  Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações?  Tem dificuldades em saber quais as alterações efetuadas em um software, quando foram feitas e quem fez?  Tem dificuldade em recuperar o código de uma versão anterior que está em produção?  Tem problemas em manter variações do sistema ao mesmo tempo?
  • 5. Avaliação Rápida  Se alguma das perguntas anteriores teve um SIM como resposta, então sua equipe necessita urgentemente de um sistema para controle de versão! Controle de versão é fundamental para o desenvolvimento de software
  • 7. Ferramentas  As melhores são Open Source  Centralizado  Subversion, por exemplo.  Distribuído  Exemplo: Mercurial e o Git
  • 10. VCS Distribuído  Pull (Puxar)  Atualiza o repositório local  Push (Empurrar)  Atualiza o repositório remoto
  • 13. Snapshots, E Não Diferenças VCS Convencionais
  • 14. Snapshots, E Não Diferenças Git
  • 15. Noções Básicas de Git  Quase todas as operações são locais  Menor latência  Histórico do projeto no seu disco local  Trabalho offline  Git tem integridade  Checksum (hash SHA-1) 24b9da6552252987aa493b52f8696cd6d3b00373  Fazer um commit de um snapshot no Git, é muito difícil que você o perca
  • 16. Noções Básicas de Git  Os Três Estados  Modificado (modified)  Preparado (staged)  Consolidado (committed)
  • 18. Os Três Estados  O workflow básico do Git pode ser descrito assim: 1. Você modifica arquivos no seu diretório de trabalho. 2. Você seleciona os arquivos, adicionando snapshots deles para sua área de preparação. 3. Você faz um commit, que leva os arquivos como eles estão na sua área de preparação e os armazena permanentemente no seu diretório Git.
  • 19. Instalando Git  Baixar snapshot mais recente:  http://git-scm.com/download  Instalando no Linux $ yum install git-core $ apt-get install git-core  Instalando no Mac  http://code.google.com/p/git-osx-installer
  • 20. Instalando Git  http://msysgit.github.com  Cliente SSH e GUI padrão  Sua Identidade $ git config --global user.name “Jonata Weber" $ git config --global user.email jonataa@gmail.com
  • 21. Git na Prática  Criar um novo repositório git init  Obter um repositório git clone /caminho/para/o/repositório git clone usuário@servidor:/caminho/para/o/repositório  Adicionar e confirmar (staging) git add <arquivo> git add *  Commit git commit -m "comentários das alterações“  Enviar alterações git push origin master  Adicionar um servidor remoto git remote add origin <servidor>  Log de commits git log
  • 22. Exemplo Prático 1. Criar e movimentar um repositório local 2. Empurrar (Push) para um repositório remoto 3. Puxar (Pull) de um repositório remoto 4. Deploy automático
  • 23. Github  GitHub é um Serviço de Web Hosting Compartilhado para projetos que usam o controle de versionamento Git.  https://github.com/  É escrito em Ruby on Rails.  Planos comerciais e gratuitos para projetos de código aberto.  Possui algumas funcionalidades  Rede social como feeds, followers, wiki e um gráfico que mostra como os desenvolvedores trabalham as versões de seus repositórios.
  • 24. Referências  http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/conceitos_basicos_controle_vers ao_centralizado_e_distribuido.php?pagNum=3  http://git-scm.com/book/pt-br/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o  http://rogerdudler.github.io/git-guide/index.pt_BR.html  http://www.akitaonrails.com/2010/02/13/deploy-com-git-push  https://devcenter.heroku.com/articles/git  http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/  http://www.contagia.com.br/blog/git-pra-que-serve/  http://marklodato.github.io/visual-git-guide/index-en.html  http://www.abstraindo.com/ambiente-de-desenvolvimento/vagrant-de-forma-simples-parte-1/