O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Workshop de Introdução ao Git GitHub

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Learn about Git - Git Tutorial
Learn about Git - Git Tutorial
Carregando em…3
×

Confira estes a seguir

1 de 47 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Workshop de Introdução ao Git GitHub (20)

Anúncio

Mais recentes (20)

Workshop de Introdução ao Git GitHub

  1. 1. Introdução ao Git/GitHub GILSON OLIVEIRA JR 24/02/2018
  2. 2. Nossa jornada no dia de hoje Saber se localizar no mundo de controle de versão Integrando o controle de versão no seu fluxo de trabalho individual Colaborando em projetos maiores com o Git/Github
  3. 3. Passo 1: Controle de versão SE LOCALIZANDO NO CONTROLE DE VERSÃO
  4. 4. Controle de Versão TIPOS E SOFTWARES RELACIONADOS
  5. 5. .old _backup pasta v1, v2, v3 E-mail pra vc mesmo QUEM NUNCA???
  6. 6. Porque Controlar Versão? Manutenção de um histórico Backup Colaboração Controle de Atividades Paralelas Automação de Implementação
  7. 7. Métodos de Controle de Versão Manual Auxiliado por Software
  8. 8. Por que o GIT? RAZÕES PORQUE ESCOLHEMOS O GIT E UM POUCO DO SEU HISTÓRICO
  9. 9. Porque o Git?
  10. 10. Porque o Git? • Velocidade • Design Simples • Desenvolvimento não linear • Totalmente distribuído • Robusto (capaz de lidar com projetos de grande porte)
  11. 11. Um pouco do Histórico 1991 - 2002 Patches e Diretórios compartilhados 2002 - 2005 2005 - ...
  12. 12. Passo 2: Usando o Git no seu fluxo de trabalho USANDO O GIT NOS SEUS PROJETOS
  13. 13. Primeiros passos O QUE PRECISAMOS SABER ANTES DE TRABALHAR COM O GIT
  14. 14. Conceitos Git Outros sistemas guardam alterações em arquivos, o Git trabalha com fotos dos arquivos no projeto Integridade Tudo é verificado com CHECK-SUM com SHA-1 Local Quase todas as operações no Git são locais. Logo você pode trabalhar offline e testar seu código tranquilamente Somente adição de dados Git geralmente adiciona dados no seu controle, isso infere que quase sempre se pode reverter qualquer ação
  15. 15. Configuração da ferramenta 3 níveis Nível Descrição Prioridade Sistema Configurações comuns a todos usuários do sistema (computador) 3 Global Configurações de um usuário específico do sistema (o que está logado) 2 Local Configurações específicas para o projeto que você está trabalhando 1 IMPORTANTE: Configurações locais (projeto) tem prioridade sobre configurações globais e de sistema
  16. 16. Prática 1/1 • Criação de um usuário no GitHub • Configuração básica do seu ambiente após instalação do Git localmente • COMANDOS: • git config
  17. 17. Pratica 1/2 Comandos que iremos explorar nessa sessão: • Iniciando um repositório: • git init • git clone
  18. 18. Os três estados Básicos Essa é uma das partes mais importantes de se saber antes de começar a trabalhar com o Git.
  19. 19. No detalhe... Fonte: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository
  20. 20. Pratica 1/3 • Adicionando arquivos na área de staging • git add • Verificando o status do nosso diretório de trabalho: • git status • Fazendo commits • git commit • git commit -m “mensagem” • Fazendo uma correção • git commit --amend
  21. 21. Abrindo a caixa de Ferramentas
  22. 22. Pratica 1/4 • Visualizando as diferenças entre arquivos • git diff • Visualizando histórico de alterações • git log
  23. 23. Limpando a bagunça
  24. 24. Parte Prática 1/5 • git commit –amend • git reset • git checkout --
  25. 25. Branching & Merging
  26. 26. Por que usar branches? Base do Código Funcionando (Master sugestão) Base do Código em Produção Base do Código emTeste Base do Código em Desenvolvimento Playground para novas funcionalidades Estabilidade
  27. 27. Pratica 1/6 • git branch • git checkout • git merge
  28. 28. O que é um commit?
  29. 29. Um branch nada mais é que um ponteiro para um commit. novoBranch
  30. 30. Criando um novo branch e fazendo um novo commit...
  31. 31. Uma historinha bem comum... 1 3 2 4
  32. 32. Exemplos de Branches de vida longa
  33. 33. Stashing || Commiting?
  34. 34. Parte pratica 1-7 • git stash save • git stash list • git stash pop
  35. 35. Passo 3: Colaboração USANDO O GIT NOS SEUS PROJETOS ENVOLVENDO VÁRIOS DESENVOLVEDORES
  36. 36. Trabalhando em equipe OU +
  37. 37. Repositório Remoto (DVSC) Tudo bem trabalhar local... mas em algum momento temos que sincronizar as bases
  38. 38. Serviços Online ...
  39. 39. Por que o GitHub
  40. 40. O que é o GitHub “A Web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features was launched. GitHub provides a Web-based graphical interface and desktop as well as mobile integration. It also provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.” Servidor de repositório InterfaceWeb Controle de acesso Gestão de Bug Requisições de Funcionalidades Gestão de tarefas Wiki para os projetos
  41. 41. Mona, o Octocat Curiosidades • Foi criado em 2007, pelo mesmo criador do passarinho doTwitter – Oxley https://www.idokungfoo.com/ https://dribbble.com/simonox
  42. 42. Parte Prática 2/1 • Criando um repositório • Configuração de acessos • Configurando a lista de .gitignore
  43. 43. Como o git trabalha com remotos
  44. 44. Tracking Branches • Tracking Branches são links entre branches locais e remotos • Listando: • git branch -vv • Removendo relacionamentos: • Git branch --unset-upstream • Criando um novo relacionamento: • git checkout --track origin/<branchname> • git push –u origin <nomebranch>
  45. 45. Fork e Pull Requests https://guides.github.com/introduction/flow/
  46. 46. Parte pratica 2/2 • Fork • Create a pull request • git remote add • git remote show • git branch -vv • git fetch push pull • Criando pull requests • Merge com conflitos
  47. 47. Referências • https://git-scm.com • https://help.git.com • https://guides.github.com/ • Youtube – vários videos • Google – várias buscas

Notas do Editor

  • Conceito e Prática
  • Perguntar para que mais é usado
  • 1) Falar sobre o maior projeto de colaboração do mundo: Desenvolvimento do Linux
    2) Uso da ferramenta proprietária BitKeeper
    4) In 2005, the relationship between the community that developed the Linux kernel and the commercial company that developed BitKeeper broke down, and the tool’s free-of-charge status was revoked. This prompted the Linux development community (and in particular Linus Torvalds, the creator of Linux) to develop their own tool based on some of the lessons they learned while using BitKeeper. Some of the goals of the new system were as follows:
    Speed
    Simple design
    Strong support for non-linear development (thousands of parallel branches)
    Fully distributed
    Able to handle large projects like the Linux kernel efficiently (speed and data size)
  • Criar conta no GitHub (chamar alguém que não tenha conta para criar na hora) - alertar sobre o e-mail no-reply
    Configurar nome de usuário
    git config --global user.name "nome"  
    Nota: se não informar o nível, ele entende como configuração local
     
    Configurar e-mail (lembrar de informar o e-mail no reply) git config --global user.email email@email.com
    Configurar editor
    git config core-editor
  • Vamos entrar em uma das partes mais legais do GIT agora. E para isso temos que entrar um pouco mais a fundo e saber o que é um commit.
  • Geralmente não queremos mexer no código de produção, ou base estável do meu código (se pensarmos em releases alpha, beta, etc).
  • Um commit é um ponteiro para um snapshot, que por sua vez é uma arvore de arquivos. Esses commits podem ter relação com outros commits.
  • Ao criar um novo branch, estamos criando um novo ponteiro.

×