SlideShare una empresa de Scribd logo
1 de 28
Sistema Descentralizado de Controle de Versões
Equipe
Redação
Elias Alves
Edição
Jonatas Esteves
Produção
Leandro Cavalcante
GIT
O que é GIT?
É um VCS descentralizado.
Qual a finalidade ?
Ter maior controle sobre as diversas versões de um sistema
Quem deve utilizar?
Qualquer um, empresas que precisam manter a organização das
versões de seus sistemas, ou qualquer pessoa que encontre alguma
utilidade no git.
Quem usa?
& Nós.
História
O Kernel do GNU/Linux é um projeto de código aberto de larga escala, e durante muito tempo de seu desenvolvimento (1991-2002), as alteraç
Mas em 2005, o relacionamento entre a comunidade de desenvolvimento do Linux e a companhia responsável pelo BitKeeper ruiu, o que impe
Rapidez
Design simples
Excelente suporte para o desenvolvimento não-linear
Inteiramente distribuído
Escalabilidade
Desde 2005 o Git tem evoluído sem perder essas características, sendo incrivelmente rápido e simples, poderoso e leve.
Mas o que é um VCS?
Version Control System - sistema de controle de versão ou sistema de versionamento é
um tipo de sistema responsável por manter as diferentes alterações e logs de arquivo. Possuem
ferramentas para reverter, modificar, travar e comparar alterações de arquivos.
Quando usar?
Projetos em grupos, projetos pessoais, trabalhos acadêmicos, desenvolvimento de sistemas, projetos
de larga escala, etc.
Diversas versões, um local de armazenamento.
VCS Local
VCS Centralizado (CVCS)
Um servidor, diversos clientes. Ex.: Subversion (CVCS)
VCS Distribuído (DVCS)
Diversos clientes, cada um tem cópias dos arquivos que são armazenados no se
Funcionamento
Um repositório git armazena o arquivo, e ao alterar ele não
necessariamente salva um novo arquivo como uma nova versão,
mas salva apenas o que foi alterado, as demais áreas ele
referencia por uma ligação as partes antigas fazendo com que o
estado de todo o sistema seja versionado (snapshot).
Os campos tracejados indicam links
Conceitos
Operações Locais
Quase tudo é local, ou seja, você pode ver todas as versões
do sistema localmente e utiliza-las caso esteja offline, assim
como alterar e fazer commit da alterações.
Checksum
Todo commit tem um checksum diferente o que impossibilita
que alterações fiquem perdidas.
Conceitos
Remover dados
Não é possível, pois todas as alterações são salvas, sendo
assim, sempre será possível recuperar um arquivo
Três estados
git diretório (git directory)
área de preparação (staging area)
diretório de trabalho (working directory)
Areas do Git
git diretório: area copiada quando se copia um diretório,
armazena metadados, e o o banco de objetos.
área de preparação: é um index que armazena informações do proximo
commit.
diretório de trabalho: arquivo de uma versão do projeto.
Explicando:
•modifica arquivos no seu diretório de trabalho.
•seleciona os arquivos adicionando eles para sua área de preparação.
•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.
Fluxo de trabalho
http://git-scm.com/book/pt-br/
Para saber mais
O Lado Pratico
Inicio: Inicialmenteo o Git foi pensado para a
plataforma Linux, porém, vamos primeiro
exemplificar o processo do funcionamento do Git no
Windows, utilizando a plataforma do GitHub.
O lado Pratico
Esta seria a tela inicial do
desssa versão do Git no
Windows.
Podemos:
Criar, Clonar, Abrir
repositórios.
Neste caso já temos o
repositório Nova pasta(3)
O Lado Pratico
Esta é a interface de utilização principal do Git no Windows, porém, neste
trabalho iremos falar mais da parte de codigo.
O Lado Pratico
Instalação no Linux
Instalar o Git no Linux via um instalador binário, você
pode fazê-lo com a ferramenta de gerenciamento de pacotes
(packages) disponível na sua distribuição
Distribuição:
Fedora: $ yum install git-core
Debian: $ apt-get install git
O Lado Pratico
A primeira coisa a ser feita no Git após instalar e
configurar é definir o nome do usuário:
$ git config --global user.name “joao"
$ git config --global user.email joao@joao.com
Isso será feito apenas uma vez e em cada commit efetuado o Git
utilizará estas informações.
$ git help <verb>
$ git <verb> --help
$ man git-<verb> Comandos de Ajuda, Help
O Lado Pratico
Pra iniciar a monitoração com Git vá até o diretório e digite:
$ git init
Com isso você passa a monitorar o diretório em que está localizado.
$ git clone git://github.com/schacon/grit.git
$ git clone https://github.com/schacon/grit.git
$ git clone user@server:/path.git
Com esse comando você criar um clone do diretório especificado, podem
ser utilizados vários protocolos.
O Lado Pratico
$ git status
Este comando verifica quais arquivos estão monitorados e
selecionados para executar o commit, ao realizar este
comando você ira ver os arquivos monitorados que foram
alterados e os não alterados separadamente.
O Lado Pratico
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
# new file: README
# modified: benchmarks.rb
Aqui apresentamos um arquivo que foi criado e um que foi
alterado para a execução do commit
O Lado Pratico
$ git add arquivo.txt
O Comando add é utilizado para adicionar arquivos ao
commit, para monitorar existem várias funções.
$ cat .gitignore
*.[oa]
*~
Cria uma lista de padrões á serem ignorados pelo Git, neste
exemplo arquivos terminados com as letras o, ou a, ou ~.
O Lado Pratico
$ git commit
Realiza o Commit dos dados selecionados e monitorados.
$ git diff
Exibe os arquivos que você alterou mas não selecionou para o commit
$ git rm
Realiza a remoção do arquivo da área de monitoramento
O Lado Pratico
$ git mv arquivo_origem arquivo_destino
O comando move o arquivo primeiro especifica o arquivo de origem e
depois o arquivo de destino, precedidos pelo comando $ git mv.
$ git log
Exibe o histórico de commits realizados
-p : demonstra as diferenças que ocorreu no commit
--stat : demonstra estaticas para cada commit
São complementares ao $git log
Conclusão
Existe uma infinidade de opções para o Git,
demonstramos apenas as mais essênciais para a
utilização básica do Git em um ambiente de
monitoração, além de apresentar o conceito teórico
do Git.
Referências
http://git-scm.com/book/pt-br/
http://rafaelsart.com/tutorial/tutorial_git_github.pdf
http://tableless.com.br/iniciando-no-git-parte-1/
http://tableless.com.br/introducao-das-premissas-dos-controles-de-versao/

Más contenido relacionado

La actualidad más candente

Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubVenkat Malladi
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewRueful Robin
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to gitEmanuele Olivetti
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 

La actualidad más candente (20)

git and github
git and githubgit and github
git and github
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Github basics
Github basicsGithub basics
Github basics
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
Learning git
Learning gitLearning git
Learning git
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
Git Grundlagen
Git GrundlagenGit Grundlagen
Git Grundlagen
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 

Similar a Sistema Descentralizado de Controle de Versões

Similar a Sistema Descentralizado de Controle de Versões (20)

GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVN
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Git e github
Git e githubGit e github
Git e github
 
Git e Sistemas de Controle de Versão
Git e Sistemas de Controle de VersãoGit e Sistemas de Controle de Versão
Git e Sistemas de Controle de Versão
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Git
GitGit
Git
 
Git
GitGit
Git
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Git+github
Git+githubGit+github
Git+github
 
Curso git-0001
Curso git-0001Curso git-0001
Curso git-0001
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
 
Git ao GitHub
Git ao GitHubGit ao GitHub
Git ao GitHub
 
Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 

Sistema Descentralizado de Controle de Versões

  • 1. Sistema Descentralizado de Controle de Versões
  • 3. GIT O que é GIT? É um VCS descentralizado. Qual a finalidade ? Ter maior controle sobre as diversas versões de um sistema Quem deve utilizar? Qualquer um, empresas que precisam manter a organização das versões de seus sistemas, ou qualquer pessoa que encontre alguma utilidade no git.
  • 5. História O Kernel do GNU/Linux é um projeto de código aberto de larga escala, e durante muito tempo de seu desenvolvimento (1991-2002), as alteraç Mas em 2005, o relacionamento entre a comunidade de desenvolvimento do Linux e a companhia responsável pelo BitKeeper ruiu, o que impe Rapidez Design simples Excelente suporte para o desenvolvimento não-linear Inteiramente distribuído Escalabilidade Desde 2005 o Git tem evoluído sem perder essas características, sendo incrivelmente rápido e simples, poderoso e leve.
  • 6. Mas o que é um VCS? Version Control System - sistema de controle de versão ou sistema de versionamento é um tipo de sistema responsável por manter as diferentes alterações e logs de arquivo. Possuem ferramentas para reverter, modificar, travar e comparar alterações de arquivos. Quando usar? Projetos em grupos, projetos pessoais, trabalhos acadêmicos, desenvolvimento de sistemas, projetos de larga escala, etc.
  • 7. Diversas versões, um local de armazenamento. VCS Local
  • 8. VCS Centralizado (CVCS) Um servidor, diversos clientes. Ex.: Subversion (CVCS)
  • 9. VCS Distribuído (DVCS) Diversos clientes, cada um tem cópias dos arquivos que são armazenados no se
  • 10. Funcionamento Um repositório git armazena o arquivo, e ao alterar ele não necessariamente salva um novo arquivo como uma nova versão, mas salva apenas o que foi alterado, as demais áreas ele referencia por uma ligação as partes antigas fazendo com que o estado de todo o sistema seja versionado (snapshot). Os campos tracejados indicam links
  • 11. Conceitos Operações Locais Quase tudo é local, ou seja, você pode ver todas as versões do sistema localmente e utiliza-las caso esteja offline, assim como alterar e fazer commit da alterações. Checksum Todo commit tem um checksum diferente o que impossibilita que alterações fiquem perdidas.
  • 12. Conceitos Remover dados Não é possível, pois todas as alterações são salvas, sendo assim, sempre será possível recuperar um arquivo Três estados git diretório (git directory) área de preparação (staging area) diretório de trabalho (working directory)
  • 13. Areas do Git git diretório: area copiada quando se copia um diretório, armazena metadados, e o o banco de objetos. área de preparação: é um index que armazena informações do proximo commit. diretório de trabalho: arquivo de uma versão do projeto. Explicando: •modifica arquivos no seu diretório de trabalho. •seleciona os arquivos adicionando eles para sua área de preparação. •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.
  • 16. O Lado Pratico Inicio: Inicialmenteo o Git foi pensado para a plataforma Linux, porém, vamos primeiro exemplificar o processo do funcionamento do Git no Windows, utilizando a plataforma do GitHub.
  • 17. O lado Pratico Esta seria a tela inicial do desssa versão do Git no Windows. Podemos: Criar, Clonar, Abrir repositórios. Neste caso já temos o repositório Nova pasta(3)
  • 18. O Lado Pratico Esta é a interface de utilização principal do Git no Windows, porém, neste trabalho iremos falar mais da parte de codigo.
  • 19. O Lado Pratico Instalação no Linux Instalar o Git no Linux via um instalador binário, você pode fazê-lo com a ferramenta de gerenciamento de pacotes (packages) disponível na sua distribuição Distribuição: Fedora: $ yum install git-core Debian: $ apt-get install git
  • 20. O Lado Pratico A primeira coisa a ser feita no Git após instalar e configurar é definir o nome do usuário: $ git config --global user.name “joao" $ git config --global user.email joao@joao.com Isso será feito apenas uma vez e em cada commit efetuado o Git utilizará estas informações. $ git help <verb> $ git <verb> --help $ man git-<verb> Comandos de Ajuda, Help
  • 21. O Lado Pratico Pra iniciar a monitoração com Git vá até o diretório e digite: $ git init Com isso você passa a monitorar o diretório em que está localizado. $ git clone git://github.com/schacon/grit.git $ git clone https://github.com/schacon/grit.git $ git clone user@server:/path.git Com esse comando você criar um clone do diretório especificado, podem ser utilizados vários protocolos.
  • 22. O Lado Pratico $ git status Este comando verifica quais arquivos estão monitorados e selecionados para executar o commit, ao realizar este comando você ira ver os arquivos monitorados que foram alterados e os não alterados separadamente.
  • 23. O Lado Pratico $ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # new file: README # modified: benchmarks.rb Aqui apresentamos um arquivo que foi criado e um que foi alterado para a execução do commit
  • 24. O Lado Pratico $ git add arquivo.txt O Comando add é utilizado para adicionar arquivos ao commit, para monitorar existem várias funções. $ cat .gitignore *.[oa] *~ Cria uma lista de padrões á serem ignorados pelo Git, neste exemplo arquivos terminados com as letras o, ou a, ou ~.
  • 25. O Lado Pratico $ git commit Realiza o Commit dos dados selecionados e monitorados. $ git diff Exibe os arquivos que você alterou mas não selecionou para o commit $ git rm Realiza a remoção do arquivo da área de monitoramento
  • 26. O Lado Pratico $ git mv arquivo_origem arquivo_destino O comando move o arquivo primeiro especifica o arquivo de origem e depois o arquivo de destino, precedidos pelo comando $ git mv. $ git log Exibe o histórico de commits realizados -p : demonstra as diferenças que ocorreu no commit --stat : demonstra estaticas para cada commit São complementares ao $git log
  • 27. Conclusão Existe uma infinidade de opções para o Git, demonstramos apenas as mais essênciais para a utilização básica do Git em um ambiente de monitoração, além de apresentar o conceito teórico do Git.