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/

Git - Sistema Descentralizado de Controle de Versões

  • 1.
    Sistema Descentralizado deControle de Versões
  • 2.
  • 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.
  • 4.
  • 5.
    História O Kernel doGNU/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, umlocal de armazenamento. VCS Local
  • 8.
    VCS Centralizado (CVCS) Umservidor, diversos clientes. Ex.: Subversion (CVCS)
  • 9.
    VCS Distribuído (DVCS) Diversosclientes, cada um tem cópias dos arquivos que são armazenados no se
  • 10.
    Funcionamento Um repositório gitarmazena 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 gitdiretó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.
  • 14.
  • 15.
  • 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 Estaseria 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çãono 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 Aprimeira 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 Prainiciar 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 infinidadede 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.
  • 28.