Introdução ao git

374 views

Published on

O git é um sistema de controle de versão, ou seja, é um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo. Com isso ele oferece funcionalidades como reverter arquivos (ou o projeto inteiro) para um estado anterior, comparar mudanças feitas ao decorrer do tempo, ver quem foi o último a modificar algo e quando, e muito mais. Neste minicurso vamos ver como usar o git e suas principais funcionalidades.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
374
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introdução ao git

  1. 1. Introdução ao Hugo Maia Vieira Esta obra é licenciada sob uma licença Creative Commons @hugomaiavieira novembro de 2013
  2. 2. ¿O que é git? Um sistema de controle de versão, ou seja, é um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo Permite que um grupo de pessoas trabalhem nos mesmos documentos ao mesmo tempo
  3. 3. ¿Como surgiu? Em 2005, por Linus Torvalds, para gerenciar o desenvolvimento do kernel do Linux
  4. 4. ¿E quem está usando?
  5. 5. Sistemas centralizados Ex. CVS e Subversion
  6. 6. Sistemas distribuídos Ex. git e mercurial
  7. 7. Modelos de armazenamento outros git
  8. 8. Os três estados
  9. 9. Instalando $ apt-get install git-core
  10. 10. Configurando /etc/gitconfig || ~/.gitconfig || .git/config Identidade $ git config --global user.name "Hugo Maia Vieira" $ git config --global user.email "hugomaiavieira@gmail.com" Cores $ git config --global color.ui auto
  11. 11. Configurando Editor $ git config --global core.editor vim Alias $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.co checkout $ git config --global alias.st status Ferramenta de diff
  12. 12. Obtendo ajuda $ git help <comando> $ git <comando> --help $ man git-<comando> TAB TAB
  13. 13. Obtendo um repositório Novo repositório $ git init Repositório existente $ git clone git@github.com:hugomaiavieira/afterFormat.git
  14. 14. Gravando alteraçoes no repositório
  15. 15. Gravando alteraçoes no repositório $ git status $ git add $ git add -A
  16. 16. .gitignore # um comentário - isto é ignorado # sem arquivos terminados em .a *.a # mas rastreie lib.a, mesmo que você tenha ignorado arquivos # terminados em .a acima !lib.a # apenas ignore o arquivo TODO na raiz, não o subdiretório TODO /TODO # ignore todos os arquivos no diretório build/ Build/ # ignore doc/notes.txt mas, não ignore doc/server/arch.txt doc/*.txt
  17. 17. Gravando alteraçoes no repositório $ git diff $ git commit $ git commit -m 'alguma coisa' $ git commit -am 'alguma coisa' $ git rm foo.txt $ git rm --cached foo.txt
  18. 18. Visualizando o histórico $ git log gitg $ sudo apt-get install gitg $ gitg
  19. 19. Desfazendo coisas Modificando o útimo commit $ git commit --amend Tirando arquivos da área de seleção $ git reset HEAD foo.txt Desfazendo as modificações de um arquivo $ git checkout -- foo.txt Desfazendo todas as modificações $ git checkout -- .
  20. 20. Ramificações
  21. 21. Ramificações $ git checkout -b iss53
  22. 22. Ramificações $ git commit -am 'C3'
  23. 23. Ramificações $ git checkout -b 'hotfix' $ git commit -am 'C4'
  24. 24. Ramificações $ git checkout master $ git merge hotfix
  25. 25. Ramificações $ git checkout iss53 $ git commit -a -m 'C5'
  26. 26. Ramificações $ git checkout master $ git merge iss53
  27. 27. Resolvendo conflitos
  28. 28. Trabalhando com remotos Adicionando um remoto $ git remote add [nome-remoto] [url] Pegando dados de um remoto $ git fetch [nome-remoto] $ git pull [nome-remoto] [branch] Enviando dados para um remoto $ git push [nome-remoto] [branch]
  29. 29. Serviços https://github.com https://gitlab.com https://bitbucket.org
  30. 30. Referências http://git-scm.com/book/pt-br http://www.hugomaiavieira.com/search/label/Git

×