Git e Github: qual a importância dessas ferramentas para o desenvolvedor
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.
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
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!”
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>”
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
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
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
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
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
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
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
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!
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)