Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git e Github: qual a importância dessas ferramentas para o desenvolvedor

221 views

Published on

Essa palestra introduz o conceito de git como sistema de controle de versão e discute como o Github é importante para os desenvolvedores como ferramenta e plataforma social.

Published in: Technology
  • DOWNLOAD FULL BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Git e Github: qual a importância dessas ferramentas para o desenvolvedor

  1. 1. Git e Github: qual a importância dessas ferramentas para o desenvolvedor? Felipe Pedroso
  2. 2. Felipe Pedroso ● Engenheiro da Computação (FACENS), com Pós em Produção e Desenvolvimento de Jogos (SENAC) e atualmente Mestrando na Unicamp ● Trabalhou para Intel, LG, Instituto Eldorado, CI&T e FIT. Atualmente possui uma empresa de consultoria, desenvolvimento de software e treinamento ● Áreas de interesse: plataformas móveis, arquitetura de software, developer experience e internet das coisas. felipeapedroso felipepedroso
  3. 3. Avisos Gerais
  4. 4. Slides disponíveis em: slideshare.net/felipe_pedroso
  5. 5. A palestra não é um curso detalhado de git e linha de comando!
  6. 6. O que é o Git?
  7. 7. “Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.” Fonte: https://git-scm.com/
  8. 8. “Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.” Fonte: https://git-scm.com/
  9. 9. Sistema de Controle de Versão?
  10. 10. Fonte: Geek&Poke
  11. 11. Sistema de Controle de Versão ● Sistema que registra as alterações em um arquivo ou conjunto de arquivos ao longo do tempo, permitindo que versões mais antigas sejam recuperadas caso seja necessário. ● Outros exemplos de Sistemas de Controle de Versão: ○ Concurrent Version System (CVS) ○ Subversion (SVN) ○ Mercurial ○ Bazaar ○ BitKeeper
  12. 12. “Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.” Fonte: https://git-scm.com/
  13. 13. Um pouco de contexto e motivação ● O git foi criado em 2005 pelo Linus Torvalds para poder gerenciar o código fonte do kernel do Linux ● Os principais objetivos na criação do git foram: ○ Velocidade ○ Design Simples ○ Suportar um desenvolvimento “não linear” ○ Ser um controle de versão distribuído ● Palestra “Git: Source code control the way it was mean to be!”
  14. 14. Mas como começar a usar?
  15. 15. Instalação e Configuração ● O processo de instalação é bem simples, bastando seguir as instruções do site do git de acordo com a sua plataforma: ○ Linux ○ Mac ○ Windows ● A única configuração recomendada é seu nome e email para identificar sua atividade nos repositórios. Para isso basta executar: git config --global user.name “<Seu Nome>” git config --global user.email “<Seu Email>”
  16. 16. # Inicializando o projeto $ cd <Diretório do Projeto> $ git init # Adicionando todos arquivos da pasta $ git add . # “Salvando” as modificações feitas nos arquivos $ git commit -m “<Mensagem do commit>” Utilização mais básica
  17. 17. Fácil, não?
  18. 18. Dificultando um pouquinho... git add <Caminho do arquivo> Adiciona um arquivo específico git status Exibe arquivos modificados desde o último commit git diff Exibe as mudanças desde o último commit git checkout <Caminho do arquivo> Desfaz as mudanças em um arquivo git log Exibe o log de commits do repositório git help Exibe os comandos disponíveis e suas funções
  19. 19. Um pouquinho mais... git clone “Clona” um repositório remoto git fetch “Baixa” objetos e referências de outros projetos git push “Envia” o código local para repositórios remotos git pull Sincroniza o código com outro repositório remoto ou branch git branch Lista, cria ou deleta “branches” git blame Mostra a revisão e qual autor de cada linha de código
  20. 20. Para aprender mais... Curso Code School Curso Udacity Livro Pro Git
  21. 21. Treinamento de 15 minutos try.github.io
  22. 22. Mas só tem linha de comando?
  23. 23. ● O git oferece ferramentas gráficas (git-gui e gitk) para auxiliar na sua utilização ● Além dessas ferramentas existem diversas implementações de ferramentas gráficas para o git: git-scm.com/downloads/guis ● O Github disponibiliza também o Github Desktop Ferramentas Gráficas
  24. 24. E para compartilhar esse repositório com outras pessoas?
  25. 25. Primeira pergunta: onde?
  26. 26. Existem alguns serviços online...
  27. 27. … ou você pode configurar seu próprio servidor!
  28. 28. Enviando código para um repositório remoto ● Crie o repositório no serviço que preferir (Ex.: Github) ● Após executar os passos do slide "Utilização mais básica", execute os seguintes comandos: # Adicionando um repositório remoto # Dica: a URL é aquela terminada por “.git” $ git remote add origin <URL do Repositório> # Envie o código para o $ git push -u origin master
  29. 29. E esse tal de Github?
  30. 30. O que é o Github? ● É um serviço de hospedagem de repositórios git, permitindo a criação de repositórios públicos gratuitos e repositórios privados pagos ● Além de hospedar repositórios oferece diversos serviços para ajudar em projetos de software e colaboração ● Fundada em 2008 por Tom Preston-Werner, Chris Wanstrath e PJ Hyett ● Tem como mascote o Octocat
  31. 31. OK, mas o que dá para fazer além de compartilhar meus projetos?
  32. 32. Colaborar com outros projetos
  33. 33. Você pode... ● Enviar correções de código para os projetos através de pull-requests ● Reportar problemas ou bugs ● Melhorar a documentação ● Conhecer e ter contato com os criadores dos projetos ● Criar sua própria versão de um projeto para resolver um problema específico usando forks
  34. 34. Aprender a programar
  35. 35. Como? ● Estudando o código fonte de projetos famosos (Ex.: Android, Node.js, React, etc) ● Explorando exemplos de código da sua linguagem de programação ou assunto favorito (Ex.: Kubernetes, Java, C#, Machine Learning, etc) ● Lendo a documentação ou guias de utilização dos projetos ● Criando seus exemplos e publicando para que outros possam avaliar seu código ou aprender também!
  36. 36. Melhorar suas chances de encontrar um emprego
  37. 37. Portfólio
  38. 38. Hospedar uma página (projeto ou pessoal)
  39. 39. Procurar emprego! ● O Github fornece um “mural” de vagas: jobs.github.com ● Você pode encontrar repositórios de vagas: FrontendBr, AndroidDevBr, PhpDevBr, CocoaHeadsBrasil, etc ● Você pode acompanhar os trabalhos de algumas empresas (ex.: Stone Payments, iFood, Square, Google, Microsoft, etc)
  40. 40. O Github é um serviço que facilita a colaboração, o compartilhamento e interação entre desenvolvedores!
  41. 41. Referências ● Pro Git (Livro Gratuito) ● Learn Git (Curso Gratuito) ● How to use Git and Github (Curso Gratuito) ● Git Crash Course (Em Inglês) ● Github Guides
  42. 42. Obrigado! felipeapedroso felipepedroso

×