I. O documento discute controle de versão e a ferramenta Git. Git foi criado para auxiliar o desenvolvimento do kernel Linux e possui características como velocidade, design simples e suporte a desenvolvimento não linear.
II. Explica conceitos básicos do Git como área de trabalho, repositório e remoto. Apresenta também o fluxo de trabalho com Git.
III. Fornece exemplos práticos de uso do Git como instalação, configuração, iniciar/clonar repositórios, adicionar/commitar arquivos,
2. O que é controle de versão, e por
que você deve se importar?
1.Alguém já sobrescreveu o código de outra pessoa por acidente e
acabou perdendo as alterações?
2.Tem dificuldades em saber quais as alterações efetuadas em um
sistema, quando foram feitas e quem fez?
3.Tem dificuldade em recuperar o código de uma versão anterior que
está em produção?
4.Tem problemas em manter variações do sistema ao mesmo tempo?
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. (Git Book)
3. GIT
I.Criado para auxiliar o desenvolvimento do kernel do
Linux;
II.Velocidade
III.Design simples
IV.Suporte robusto a desenvolvimento não linear
(milhares de branches paralelos)
V.Totalmente distribuído
VI.Capaz de lidar eficientemente com grandes
projetos como o kernel do Linux (velocidade e volume
de dados)
4. Alguns conceitos …
•Área de trabalho
–Local onde está o diretório git
–É local
•Repositório
–Onde o git trabalha as modificações
•Remoto
–Repositório git armazenado em um local
compartilhado
5. Fluxo de Trabalho
•Você modifica arquivos no seu diretório de
trabalho.
•Você seleciona os arquivos, adicionando
snapshots deles para sua área de
preparação.
•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.
8. Iniciando um repositório
$ git init
Adicionando arquivos para o
versionamento/monitoramento
$ git add <nome_do_arquivo> ou <.> para todos
Consolidando/Validando as alterações
feitas
$ git commit -m 'mensagem'
Clonando/Obtendo de repositório remoto
$ git clone [url]
–$ git clone git@gitlab.com:prodap/caf.git
9. Verificando status do seus arquivos
–$ git status
# On branch master
nothing to commit, working directory clean
Monitorando Novos Arquivos
$ touch novo_arquivo.txt
$ git add novo_arquivo.txt
10. Ignorando arquivos
–$ touch .gitignore
# um comentário - isto é ignorado
# sem arquivos terminados em .txt
*.txt
# o arquivo config_banco.php será ignorado
config_banco.php
11. Verificando mudanças nos aquivos
–$ git diff #lista as mudanças de todos arquivos
rastreados.
–$git diff <arquivo> #lista as mudanças do
arquivo selecionado
Removendo um arquivo
–$ git rm <meu_aquivo>
Movendo um arquivo
–$ git mv arquivo_origem arquivo_destino
12. Visualizar histórico de commits
–$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Edilton <ediltondanniken@gmail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
Atualizando arquivo de configuração de banco de dados
;)
13. DESFAZENDO AS COISAS
–Modificando o ultimo commit
• $ git commit –amend
–Desfazendo um arquivo modificado
•$ git checkout meu_arquivo.php
–Removendo arquivo da área de validação
•$ git reset HEAD meu_arquivo.php
14. Trabalhando com remotos
–Criando novo repositório apartir de um remoto
•$ git clone git@gitlab.com:prodap/caf.git
–Enviando alterações para seu remoto
•$ git push origin master
–Recebendo alterações de seu remoto
•$ git pull origin master
15. Branch
1.Básico de Branch e Merge
2.Vamos ver um exemplo simples de uso de branch e merge com um fluxo de
trabalho que você pode usar no mundo real. Você seguirá esses passos:
1.Trabalhar em um web site.
2.Criar um branch para uma nova história em que está trabalhando.
3.Trabalhar nesse branch.
4.Nesse etapa, você receberá um telefonema informando que outro problema
crítico existe e precisa de correção. Você fará o seguinte:
1.Voltar ao seu branch de produção.
1.Criar um branch para adicionar a correção.
2.Depois de testado, fazer o merge do branch da correção, e enviar para
produção.
3.Retornar à sua história anterior e continuar trabalhando.
17. •Criando um novo branch
–$ git branch criar_nova_tela
•Mudando para meu novo branch
–$ git checkout criar_nova_tela
O que aconteceu?
18. •Merge básico
A tarefa criar_nova_tela está pronta hora de
atualizar o master
$ git checkout master
$ git merge criar_nova_tela
19. Tagging
•Assim como a maioria dos VCS's, Git tem a
habilidade de criar tags em pontos
específicos na história do código como
pontos importantes
20. Comandos
•$ git tag
–Lista as tags de um projeto
•$ git tag -a v1.4 -m 'my version 1.4'
–Cria tags anotadas
• git show v1.4
–Mosta delatlhes de uma tag
• git push origin [nome-tag]
–Envia tags para o repositório remoto
21. Git - Hooks
•Como muitos outros sistemas de controle
de versão, Git tem uma maneira para
disparar scripts personalizados quando
certas ações importantes ocorrerem.