Git e GitHub

601 visualizações

Publicada em

Curso de Git e GitHub

Publicada em: Educação
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
601
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
24
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Git e GitHub

  1. 1. GIT E GITHUB COLABORAÇÃO E ORGANIZAÇÃO EM SEUS PROJETOS
  2. 2. CONTROLE DE VERSÃO Hoje em dia com equipes grandes e distribuídas um projeto dificilmente sobrevive sem um controle de versões. ! A finalidade de um sistema de controle de versões é gerenciar diferentes versões no desenvolvimento de qualquer documento. ! Soluções livres: CVS, Mercurial, SVN e Git Soluções comerciais: SourceSafe, PVCS, ClearCase, etc
  3. 3. O QUE É O GIT? ✓ Sistema de controle de versões distribuído com ênfase em velocidade ✓ Inicialmente projetado e desenvolvido por Linus Torvalds para desenvolvimento do kernel do Linux ✓ Cada diretório de trabalho do Git é um repositório com um histórico completo e habilidade total de acompanhamento das revisões, não dependendo de acesso a uma rede ou servidor central fonte: http://pt.wikipedia.org/wiki/Git
  4. 4. MOTIVOS PARA USAR GIT ✓ Branches facilitados e independentes ✓ Facilidade com merges ✓ Rapidez ✓ Distribuído ✓ Ocupa menos espaço que um checkout SVN ✓ Integração GitHub
  5. 5. O QUE É O GITHUB? O GitHub é uma rede social de desenvolvedores. Nela podemos criar repositórios (públicos e privados) para nossos projetos, seguir outros desenvolvedores, baixar projetos, modificar projetos, receber atualizações de modificações de projetos, etc
  6. 6. QUAL A RELAÇÃO DO GIT COM O GITHUB? Os dois se integram de forma bem simples. Podemos criar um repositório no GitHub e simplesmente “commitar" as alterações do nosso projeto usando o Git. ! Como exemplo, podemos criar um projeto e torná-lo público no GitHub utilizando a ferramenta Git.
  7. 7. INSTALANDO O GIT No Linux basta abrir o terminal e digitar: sudo apt-get install git-core ! No Windows devemos baixar a instalação através do link: http://msysgit.github.io/
  8. 8. CONFIGURANDO O GIT Após a instalação devemos configurar o Git executando os comandos: git config - -global user.name “Seu nome aqui” git config - -global user.email “Seu email aqui” ! Para ver se deu tudo certo execute: git config - -global - - list
  9. 9. CRIANDO UMA CONTA NO GITHUB Vamos acessar o página do GitHub http://github.com
  10. 10. CRIANDO UM REPOSITÓRIO Na tela inicial do GitHub, clique em New Repository
  11. 11. CRIANDO UM REPOSITÓRIO Informe o nome do repositório e uma descrição sobre o projeto. Escolha também se esse repositório será publico ou privado.
  12. 12. CONFIGURANDO UMA CHAVE SSH Tendo cadastrado e logado em sua conta do GitHub, vamos agora configurar uma chave SSH para permitir enviar commits para nosso repositório remoto. ! No terminal ou Git Bash digite: ssh-keygen -t rsa -C “seu email configura no github” ! O comando acima vai criar um arquivo chamado id_rsa.pub. Vamos abrir esse arquivo em qualquer editor e copiar o seu conteúdo com CTRL+C
  13. 13. CONFIGURANDO UMA CHAVE SSH Agora no GitHub, vamos em “Settings” e depois em “SSH Keys”. Clique em “Add SSH Key” para adicionar uma nova chave. Informe um título para identificar seu computador e no campo “Key" cole todo o conteúdo copiado do arquivo id_rsa.pub. Para testar digite o comando abaixo no terminal: ssh -T git@github.com
  14. 14. CRIANDO PROJETO LOCAL No terminal vamos criar um diretório para nosso projeto e iniciar um repositório Git: ! mkdir curso-git cd curso-git git init
  15. 15. PRIMEIRO COMMIT Vamos agora criar um arquivo e realizar o primeiro commit do nosso projeto: ! touch README git commit -m “Commit inicial"
  16. 16. CONFIGURANDO REPOSITÓRIO REMOTO Agora vamos configurar nosso projeto para usar nosso repositório remoto do GitHub. No terminal digite o comando abaixo: ! git remote add origin https://github.com/<seu login>/curso-git.git
  17. 17. ENVIANDO PARA GITHUB Para atualizar o GitHub com o que está no diretório local, digite o comando: ! git push origin master
  18. 18. ÁREAS DE OPERAÇÃO São os locais onde os arquivos irão transitar enquanto estão sendo editados e modificados. ! As áreas são: ✦ Working Directory ✦ Stage Area ✦ Git Directory (.git)
  19. 19. GIT DIRECTORY O diretório .git é onde o Git guarda os dados e objetos do seu projeto. Ele é o diretório mais importante do Git e é ele que será copiado quando alguém clonar o projeto.
  20. 20. WORK DIRECTORY É onde você vai trabalhar. Os arquivos ficam ai para poderem ser usados e alterados quantas vezes for necessário. É basicamente a pasta do seu projeto
  21. 21. STAGING AREA Quando você faz uma alteração em um arquivo, ele vai para o Staging Area, que é uma área intermediária. ! Basicamente o Staging Area contém o Git Directory com os arquivos modificados, onde ele guarda as informações sobre o que vai no seu próximo commit.
  22. 22. COMANDOS DO GIT
  23. 23. GIT ADD Este comando adiciona arquivos que serão controlados ("versionados") pelo Git ! Sintaxe: git add <nome do arquivo> ! Normalmente controlamos TUDO que está no projeto. Para adicionar todos os arquivo usamos o comandos abaixo: git add . ou git add *
  24. 24. GIT STATUS Exibe o status do repositório. Vai exibir os novos arquivos adicionados e arquivos que foram modificados e estão no Staging Area ! Sintaxe: git status !
  25. 25. GIT COMMIT Este comando realmente confirma as alterações realizadas e as envia para o repositório local mas não ainda para o repositório remoto ! Sintaxe: git commit -m “comentários das alterações" !
  26. 26. GIT PUSH Este comando vai enviar as alterações do repositório local para o repositório remoto se um estiver configurado ! Sintaxe: git push origin master !
  27. 27. GIT PULL Este comando vai atualizar nosso repositório local com todas as alterações que estão no repositório remoto. Ele vai obter e fazer o merge (mesclar) as alterações remotas. ! Sintaxe: git pull origin master !
  28. 28. GIT LOG Com esse comando podemos visualizar log de alterações do nosso repositório. Ele exibe o nome, data e comentário de cada commit ! Exemplo: git log !
  29. 29. GIT DIFF Podemos comparar a versão atual com a última versão "commitada" com o comando git diff. O sinal de “+" representa linhas adicionadas e o “-“ linhas removidas. ! Exemplo: git diff !
  30. 30. GIT RESET Este comando nos permite remover arquivos que estão na Staging Area, evitando assim que as modificações desse arquivo sejam enviadas no commit. ! Sintaxe: git reset HEAD <nome do arquivo> ! Sintaxe: git reset HEAD index.html
  31. 31. GIT CHECKOUT No caso de termos feito algo errado, isto é, alterado um arquivo erroneamente. Podemos reverter as alterações locais usando o comando git checkout - - Esse comando vai recuperar a versão do último commit ! Sintaxe: git checkout - - <nome do arquivo> ! Exemplo: git checkout - - README
  32. 32. GIT FETCH E GIT RESET Para remover todas as alterações e commits locais e recuperar o histórico mais recente que está no servidor, usamos os comandos git fetch e git reset ! Exemplo: git fetch origin git reset - -hard origin/master
  33. 33. CLONANDO REPOSITÓRIOS Quando queremos criar uma cópia local de trabalho de um repositório remoto, usamos o comando git clone ! Sintaxe: git clone <caminho repositorio> ! Exemplo: git clone http://github.com/c0de1/curso-git
  34. 34. RAMIFICANDO Branches (“ramos”) são utilizados para desenvolver funcionalidades isoladas umas das outras. O branch master é o branch “padrão”quando criamos um repositório. ! Podemos usar outros branches para desenvolver mescla-os (merge) ao branch master após a conclusão.
  35. 35. CRIANDO UM NOVO BRANCH Para criar um novo branch usamos o comando git checkout passando a opção -b ! Sintaxe: git checkout -b <nome do branch> ! Exemplo: git checkout -b nova_funcionalidade
  36. 36. LISTANDO BRANCHES Para saber quais são os branches que existem em nosso repositório usamos o comando git branch. O branch que estiver com * no início é o branch atual ! Exemplo: git branch
  37. 37. MUDANDO DE BRANCH Para mudar de um branch para outro, também utilizamos o comando checkout, mas apenas informando o nome do branch que desejamos ir. ! Sintaxe: git checkout <nome do branch> ! Exemplos: git checkout master git checkout nova_funcionalidade
  38. 38. BRANCHES SÃO LOCAIS Por padrão um branch sempre vai residir localmente e não estará disponível a outros a menos que nós enviamos esse branch para o repositório remoto. ! Exemplo: git push origin nova_funcionalidade
  39. 39. MESCLANDO BRANCHES Uma vez que terminamos o desenvolvimento da nova funcionalidade em um branch separado, é hora de mesclá-lo com o branch padrão (master). Para isso devemos selecionar o branch padrão (master) e executar o comando git merge. ! Sintaxe: git merge <nome do branch> ! Exemplo: git checkout master git merge nova_funcionalidade
  40. 40. EXCLUINDO BRANCHES Após fazer o merge de um branch com o branch padrão (master) é comum excluirmos esse branch. Para isso usamos o comando git branch com a opção -d ! Sintaxe: git branch -d <nome do branch> ! Exemplo: git branch -d nova_funcionalidade
  41. 41. GITIGNORE Normalmente em projetos temos alguns arquivos que não são necessários serem mantidos no repositório por exemplo: ! ✦ Arquivos de logs ✦ Arquivos .class em projetos Java ✦ Arquivos de configurações contendo senhas ✦ Etc ! Para o Git ignorar esses arquivos automaticamente, podemos criar um arquivo chamado .gitignore na raiz do nosso projeto e dentro de arquivo informar quais padrões de arquivos serão ignorados
  42. 42. PRA SABER MAIS Usando Git com NetBeans IDE https://netbeans.org/kb/docs/ide/git_pt_BR.html ! Usando Git no Eclipse http://jandersonantunes.blogspot.com.br/2013/09/git-no-eclipse- parte-i.html ! Git Book http://git-scm.com/book
  43. 43. THANK YOU Prof. Leonardo Marcelino ! leonardo.marcelino@gmail.com leonardo.marcelino@unifeob.edu.br https://twitter.com/leonardom https://www.facebook.com/leomarcelino

×