Desmistificando a
ferramenta git
Diogo Machado
• Desenvolvedor web à 4 anos
e meio na São Camilo ES;
• Formado pelo IFES;
• Já participei de mais de 20
pro...
Como você faria para trabalhar em um software
desenvolvido em grupo com um colega hoje?
Git é uma ferramenta para registrar alterações
feitas em um conjunto de arquivos ao longo do
tempo, uma tarefa tradicional...
Linus Torvalds
Criador do Git
• Verificar o estado do seu projeto em qualquer ponto
no passado;
• Mostrar diferenças entre diversos estágios;
• Dividir ...
Instalação
Instalação
sudo apt-get install git
Configurações básicas
git config --global user.name "Diogo Machado"
git config --global user.email diogo@diogomachado.com
...
Repositório central no nosso
servidor
mkdir ifes.git
git init --bare --bare porque esse repositório será
nossa base para q...
clone
Quando clonamos um projeto git do repositório central
Clonando nosso projeto
git clone root@192.168.201.48:/git/<nomeprojeto>.git
Podemos também iniciar um
repositório e adicionar o remoto
cd <diretorio>
git init
git remote add origin root@123.123.234....
pull
Significa que vamos puxar todas as atualizações do
projeto
Adicionando arquivos para
rastrear mudanças
git add .
git add <nomearquivo> Podemos também adicionar apenas um
arquivo, ou...
Ignorando pastas
touch .gitignore Este arquivo irá dizer ao git para ignorar
tudo que for passado de parâmetro nele
"Commitando"
git status
git commit -m "Banner rotativo add"
Passamos -m para descrevermos a
nossa alteração.
Antes de comm...
commit
É quando nós rotulamos para o git o que foi feito
Verificando o log
git log
Verificando o log + arquivos alterados
git log --stat
push
Significa que enviar todas as atualizações do projeto
Enviando alterações para o
repositório central
git push origin master
Depois de adicionado os arquivos e
comitado, nós vam...
branch
É uma frente de trabalho, ramificação. Por padrão
trabalhamos na branch Master
master
banner-rotativo
Até aqui, nós:
Temos um repositório central
Adicionamos nossos arquivos
Comitamos, dizendo o que foi feito
Enviamos para o...
Criando uma branch
git checkout -b "nova-feature"
Verificando em qual brach está
git branch
"Andando" de uma branch para a outra
git checkout master O git só me deixa ir para outra branch
assim que eu commitar toda...
Enviando a branch para o servidor
git push origin nova-feature
merge
Quando unimos duas branchs
Fazendo merge de uma branch
git push origin nova-feature
Verificar todas suas branchs, tanto
locais quanto remotas
git branch -a
E se meu colega comitou e enviou uma
alteração e eu não baixei e estou tentando
enviar com push para o repositório?
Vai te pedir para fazer um git pull origin master
Auto-merge Conflito no merge
Irá fazer um merge automático
dos arquivos....
E se eu já adicionei e commitei, mas não
enviei para o servidor, e quero voltar?
Voltando um commit
git reset --soft HEAD~1 Irá voltar o commit mantando as últimas
alterações realizadas no git,
possibili...
Lembre-se SEMPRE
Sempre dar git pull origin master
Não se esquecer te commitar suas
alterações antes de ir embora.
E se eu quiser manter mais de um repositório
central?
Adicionando repositório
remoto
git remote add deploy ubuntu@182.123.213.23:~/git/ifes.git
Após o add nós nomeamos como
qui...
Enviando para os dois
git push deploy master; git push origin master;
Excluir arquivos não
rastreados
git clean -f
Aplicativos para Git
https://git-scm.com/downloads/guis
• Rede social
• Repositórios públicos
• Repositórios privados
• Conta empresa
• Repositórios públicos
• Repositórios priva...
Links úteis
• http://rogerdudler.github.io/git-guide/index.pt_BR.html (Guia prático)
• https://git-scm.com/ (Site oficial)...
diogo@diogomachado.com
Obrigado :)
Desmistificando a ferramenta git
Desmistificando a ferramenta git
Desmistificando a ferramenta git
Próximos SlideShares
Carregando em…5
×

Desmistificando a ferramenta git

428 visualizações

Publicada em

Uma introdução a ferramenta Git

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
428
No SlideShare
0
A partir de incorporações
0
Número de incorporações
83
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desmistificando a ferramenta git

  1. 1. Desmistificando a ferramenta git
  2. 2. Diogo Machado • Desenvolvedor web à 4 anos e meio na São Camilo ES; • Formado pelo IFES; • Já participei de mais de 20 projetos de software; • Destaque na revista Galileu em 2011 pelo projeto Educação na nuvem; • Empreendedor;
  3. 3. Como você faria para trabalhar em um software desenvolvido em grupo com um colega hoje?
  4. 4. Git é uma ferramenta para registrar alterações feitas em um conjunto de arquivos ao longo do tempo, uma tarefa tradicionalmente conhecida como "controle de versão"
  5. 5. Linus Torvalds Criador do Git
  6. 6. • Verificar o estado do seu projeto em qualquer ponto no passado; • Mostrar diferenças entre diversos estágios; • Dividir o desenvolvimento em frentes de trabalho, os chamados "branches"; • Recombinar periodicamente os branches em um processo chamado de merge; • Permitir que muitas pessoas trabalhem simultaneamente;
  7. 7. Instalação
  8. 8. Instalação sudo apt-get install git
  9. 9. Configurações básicas git config --global user.name "Diogo Machado" git config --global user.email diogo@diogomachado.com git config --global color.ui auto
  10. 10. Repositório central no nosso servidor mkdir ifes.git git init --bare --bare porque esse repositório será nossa base para que outras pessoas possam baixar e atualizar o projeto Para seguirmos um padrão adotado pelos desenvolvedores, vamos criar a pasta com final .git
  11. 11. clone Quando clonamos um projeto git do repositório central
  12. 12. Clonando nosso projeto git clone root@192.168.201.48:/git/<nomeprojeto>.git
  13. 13. Podemos também iniciar um repositório e adicionar o remoto cd <diretorio> git init git remote add origin root@123.123.234.23:~/git/ifes.git git pull origin master
  14. 14. pull Significa que vamos puxar todas as atualizações do projeto
  15. 15. Adicionando arquivos para rastrear mudanças git add . git add <nomearquivo> Podemos também adicionar apenas um arquivo, ou um diretório inteiro para ser rastreado pelo git. O ponto fala para o git adicionar todos os arquivos da pasta para serem rastreados
  16. 16. Ignorando pastas touch .gitignore Este arquivo irá dizer ao git para ignorar tudo que for passado de parâmetro nele
  17. 17. "Commitando" git status git commit -m "Banner rotativo add" Passamos -m para descrevermos a nossa alteração. Antes de commitar, nós podemos ver o que está na lista para ser rastreado.
  18. 18. commit É quando nós rotulamos para o git o que foi feito
  19. 19. Verificando o log git log
  20. 20. Verificando o log + arquivos alterados git log --stat
  21. 21. push Significa que enviar todas as atualizações do projeto
  22. 22. Enviando alterações para o repositório central git push origin master Depois de adicionado os arquivos e comitado, nós vamos enviar nossas alterações para o repositório central que criamos no nosso servidor
  23. 23. branch É uma frente de trabalho, ramificação. Por padrão trabalhamos na branch Master
  24. 24. master banner-rotativo
  25. 25. Até aqui, nós: Temos um repositório central Adicionamos nossos arquivos Comitamos, dizendo o que foi feito Enviamos para o servidor
  26. 26. Criando uma branch git checkout -b "nova-feature"
  27. 27. Verificando em qual brach está git branch
  28. 28. "Andando" de uma branch para a outra git checkout master O git só me deixa ir para outra branch assim que eu commitar todas as alterações realizados nos arquivos rastreados. Se não fiz nada, ele anda de voltar para o master.
  29. 29. Enviando a branch para o servidor git push origin nova-feature
  30. 30. merge Quando unimos duas branchs
  31. 31. Fazendo merge de uma branch git push origin nova-feature
  32. 32. Verificar todas suas branchs, tanto locais quanto remotas git branch -a
  33. 33. E se meu colega comitou e enviou uma alteração e eu não baixei e estou tentando enviar com push para o repositório?
  34. 34. Vai te pedir para fazer um git pull origin master Auto-merge Conflito no merge Irá fazer um merge automático dos arquivos. Vai te avisar de conflitos, e automaticamente irá lhe apresentar dentro do arquivo as diferenças entre um commit e outro. Adicione os arquivos corrigidos e manda denovo. 1ª possibilidade 2ª possibilidade
  35. 35. E se eu já adicionei e commitei, mas não enviei para o servidor, e quero voltar?
  36. 36. Voltando um commit git reset --soft HEAD~1 Irá voltar o commit mantando as últimas alterações realizadas no git, possibilitando fazermos um pull ou mesmo um novo commit
  37. 37. Lembre-se SEMPRE Sempre dar git pull origin master Não se esquecer te commitar suas alterações antes de ir embora.
  38. 38. E se eu quiser manter mais de um repositório central?
  39. 39. Adicionando repositório remoto git remote add deploy ubuntu@182.123.213.23:~/git/ifes.git Após o add nós nomeamos como quisermos, por padrão temos sempre o origin que indica nossa branch master.
  40. 40. Enviando para os dois git push deploy master; git push origin master;
  41. 41. Excluir arquivos não rastreados git clean -f
  42. 42. Aplicativos para Git https://git-scm.com/downloads/guis
  43. 43. • Rede social • Repositórios públicos • Repositórios privados • Conta empresa • Repositórios públicos • Repositórios privados • Conta empresa • Outras ferramentas
  44. 44. Links úteis • http://rogerdudler.github.io/git-guide/index.pt_BR.html (Guia prático) • https://git-scm.com/ (Site oficial) • http://try.github.com/ (Site interativo)
  45. 45. diogo@diogomachado.com Obrigado :)

×