O documento descreve o sistema de controle de versão Git, definindo-o como um sistema descentralizado e discutindo seus principais conceitos e comandos, como inicializar um repositório, fazer commits, comparar versões e recuperar arquivos antigos.
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.
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.