1 / 59

Git : dicas e comandos b ásicos

Git : dicas e comandos b ásicos. Afonso R. Costa Jr. Agenda. Configurações básicas Repositórios Trabalhando com Branches Navegando pelo repositório Atualizando o repositório Commits Publicando o código Ferramentas auxiliares Ajuda. Configurações Básicas. Instalação do Git

Download Presentation

Git : dicas e comandos b ásicos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Git:dicas e comandos básicos Afonso R. Costa Jr.

  2. Agenda • Configurações básicas • Repositórios • Trabalhando com Branches • Navegando pelo repositório • Atualizando o repositório • Commits • Publicando o código • Ferramentas auxiliares • Ajuda

  3. Configurações Básicas • Instalação do Git • Baixar o arquivo de: http://git-scm.com/download • Instalar • Utilização do Git Bash

  4. Configurações Básicas • Nome e e-mail • git config --global user.name “<nome>” • git config --global user.email <e-mail> A opção --global indica que as configurações serão utilizadas em todos os repositórios.

  5. Configurações Básicas • Habilitando a cor • git config --global color.ui true # Habilita a cor no diff e status

  6. Configurações Básicas • Habilitando preload de index em paralelo • git config --global core.preloadindex true # Útilparaagilizar o status e diff, porexemplo.

  7. Configurações Básicas • Visualizando todas as configurações • git config -l # Mostratodas as configurações, inclusive as globais.

  8. Configurações Básicas • Visualizando uma configuração específica • git config <key> Para alterar uma configuração, basta usar o comando mudando apenas o valor. $ git config user.name

  9. Repositórios • Remoto x Local Ao fazer um clone, nós teremos o repositório local.

  10. Repositórios • Vamos clonar o repositório: git-trainning.git • git clone gitolite@git.indt.org:/git-training.git

  11. Repositórios • Após o clone, o diretório git-trainning estará criado.

  12. Trabalhando com Branches • Por que usar branches? • Facilidade para trabalhar em um ambiente ágil. • Trabalhar em diversas features. • Salvar um trabalho temporário. • Organização do time de desenvolvimento. • Desenvolvedores podem trabalhar em partes distintas do projeto.

  13. Trabalhando com Branches • Ao fazer o clone de um repositório... Remoto remotes/origin/master remotes/origin/XXX Tracking Local master remotes/origin/master remotes/origin/XXX

  14. Trabalhando com Branches • Branch local x Branch remoto • Visualizando os branches do repositório local • git branch Ao fazer um clone, o primeiro branch local no repositóriosempreserá o branch master.

  15. Trabalhando com Branches • Branch local x Branch remoto • Visualizando todos os branches • git branch -a $ gitbranch -a * master remotes/origin/Develop remotes/origin/HEAD -> origin/master remotes/origin/master

  16. Trabalhando com Branches • #FicaDica: crie um branch local para o desenvolvimento do seu trabalho • Branch master local deve ser uma cópia fiel do branch master remoto. • Facilidade para voltar ao ponto inicial.

  17. Trabalhando com Branches • Criando um branch local • git branch <nome_branch> --track origin/master

  18. Trabalhando com Branches • Trocando de branch • git checkout <nome_branch> Indica o branch atual

  19. Trabalhando com Branches • Trocando de branch • Pode ser um branch remoto, sem problemas

  20. Trabalhando com Branches • Criando um branch, fazendo tracking e alterando para o novo branch • git checkout -b <nome_branch> origin/master

  21. Trabalhando com Branches • Removendo um branch local • git branch -D <nome_branch> O branch a serremovidonãopodeser o branch atual.

  22. Trabalhando com Branches • Criando um branch remoto • git push origin <branch_local>:<branch_remoto> Crie um branch remoto com o nome do seulogin.

  23. Trabalhando com Branches • Visualizando o branch remoto na interface Web

  24. Trabalhando com Branches • O branch remoto serve para: • Compartilhar o código. • Revisar o código.

  25. Trabalhando com Branches • Removendo um branch remoto • git push origin:<branch_remoto> Cuidadoparanão remover o branch errado.

  26. Trabalhando com Branches • Removendo um branch remoto • E se um branch remoto foi acidentalmente removido... • Perdemos nosso código? • Cadê o backup?!

  27. Trabalhando com Branches • Removendo um branch remoto • Fique calmo. Basta algum desenvolvedor recriar o branch removido. • Todos os desenvolvedores que fizeram clone de um repositório tornam-se fontes de backup.

  28. Trabalhando com Branches • O branch remoto não aparece mais na interface Web Nãoesqueça de fazer um refreshnapágina.

  29. Trabalhando com Branches • Limpando os branches remotos inutilizáveis • git remote prune <repo_remoto> $ git remote prune origin Pruning origin URL: gitolite@git.indt.org:/git-training.git * [pruned] origin/teste

  30. Navegando pelo Repositório • Listando os arquivos modificados • git status

  31. Navegando pelo Repositório • Visualizando as modificações (fazendo diff) • Todos os arquivos • git diff • Um arquivo específico • git diff <file>

  32. Navegando pelo Repositório • Visualizando o histórico de um branch • git log <branch> git log sem argumento mostra o histórico do branch atual

  33. Navegando pelo Repositório • Quem mudou o quê e quando em um arquivo • git blame <file>

  34. Navegando pelo Repositório • Visualizando um commit específico • git show <commit_hash>

  35. Navegando pelo Repositório • Limpando o repositório • git clean -xdf • Remove os arquivos e diretórios que não estão sob controle de versão.

  36. Commits • Fazendo um commit local • git add <file1> <file2> ... <fileN> • Adicionando arquivo por arquivo. • git commit • Para adicionar todos os arquivos modificados • git commit -a Lembre-se de utilizar o git status para listar os arquivos modificados.

  37. Commits • Fazendo um commit local • Arquivos ou diretórios novos devem ser adicionados com git add antes do git commit. • git commit -a só funciona para os arquivos que já estão sob controle de versão.

  38. Commits • Escrevendo a mensagem do commit Linus Torvaldshttps://github.com/torvalds/subsurface/blob/master/README#L161 - Header line: explaining the commit in one line - Body of commit message is a few lines of text, explaining things in more detail, possibly giving some background about the issue being fixed, etc. - The body of the commit message can be several paragraphs, and please do proper word-wrap and keep columns shorter than about 80 characters or so. That way "git log" will show things nicely even when it's indented.

  39. Commits • Commits locais podem ser corrigidos, removidos, etc. • Commit no branchorigin/master torna-se intocável. • Não é impossível consertá-lo, porém não é recomendável fazer isto.

  40. Commits • #FicaDica: Prepare o seu commit da forma que você considera ideal. • Diferente do SVN, o Git deixa você corrigir o seu commit quantas vezes você achar necessário.

  41. Commits • Fazendo um commit usando a interface gráfica • git gui

  42. Commits • Git GUI

  43. Commits • Git GUI – Observações • Não é uma interface completa. • Git foi projetado para ser utilizado por linha de comando. • É mais fácil para fazer commit no Windows. Um bom exercício é vocês explorarem este tipo de interface

  44. Commits • Consertando o último commit • git commit --amend amend troca o hash do commit # Faça as devidascorreçõesnosarquivos (edit, save, test, …) $ git add <file(s)> $ git commit --amend

  45. Commits • Removendo um arquivo ou diretório • git rm <file> • git rm -r <dir> Precisa fazer um git commit para as alterações ficarem no repositório

  46. Commits • Movendo ou renomeando um arquivo • git mv <file> <new_file> • git mv <dir> <new_dir> Precisa fazer um git commit para as alterações ficarem no repositório

  47. Commits • Desfazendo as mudanças feitas • git reset --hard • Reset em todos os arquivos modificados. • Retorna ao estado do último commit. • Não é possível desfazer este comando. • Cuidado para não perder trabalho.

  48. Commits • Desfazendo as mudanças feitas em um arquivo específico • git checkout -- <file>

  49. Atualizando o Repositório • Obtendo as atualizações feitas no repositório remoto • git fetch • Apenas faz download das atualizações, porém não aplica as mudanças em nenhum branch local.

  50. Atualizando o Repositório • Baixando e aplicando as atualizações no branch atual • git pull --rebase

More Related