introdução ao git e github
TRANSCRIPT
Introduo ao git e githubOHC - Bauru/SPBruno dropped Criado(bruno|dropped)@tttruth.com
Agenda
Sistema de Controle de VersoO que um SCV
Por que usar
Tipos
GitHistria
Propsito
Caractersticas
Workflow
Demo
Github
O que um SCV (VCS)Qualquer sistema prtica que possa prover rastreamento e controle sobre as mudanas de documentos.
Por que usar?
Por que usar?Facilidade na navegao de mudanas realizadas
Compartilhamento entre os interessados.
Agilidade no deploy da aplicao em desenvolvimento e produo
Tipos de SCVCentralizadoDescentralizado / Distribudo
HistriaBitKeeper era utilizado por desenvolvedores do Linux Kernel
2005 BitKeeper deixa de ser livre (verso comunitaria)
2005 Linus Torvalds escreve o git
Propsito:Desenvolvimento distribudo
Arquivos grandes
Merges complexos
Vrios branches
Ser muito rpido
Ser robusto
CaractersticasIdentificadores universais (SHA1)
Multi-protocolHTTP(S)
SSH
RSYNC
GIT
Armazenamento eficiente
Todos tem um repositrio inteiro
Facilidade com branches e merges
Atualizaes podem ser enviadas por email
Binrios SO suportados
Importa/exporta CVS
Importa/exporta SVN
Workflow
Comandos gitIniciam com 'git'git (config, pull, push, clone, commit, add... )
Man-pages podem ser acessadas com git-comandoman git-pull
Para obter ajuda rpida sobre algum comando:git help comando
git comando --help
Configurao bsicaConfigurar username:git config --global user.name Seu Nome
Configurar email:git config --global user.email [email protected]
Configurar editor:sudo git config --system core.editor gedit
Novo repositrioIniciando um novo repositrio:git init novo_projeto
cd novo_projeto
ls -la
Clonar repositorioClonando repositriogit clone https://github.com/torvalds/linux.git
git clone git://github.com/SU-SWS/open_framework.git
git clone ssh://[email protected]:18765/home/username/public_html
Ciclo de vida de um arquivo
Estatus do repositrioObtendo estatus do repositriogit status
Monitorar arquivosMonitorando arquivosgit add arquivo_novo
Arquivos modificadosgit add arquivo_modificado
Bonusgit add -pAdiciona apenas as mudanas na stage area ao invs do arquivo inteiro
Diferenas nos arquivosVendo as modificaes realizadas nos arquivos na stage areagit diff
Bonusgit diff Ver diferenas entre commits
Entregando as mudificaesCommitando as modificaes da stage areagit commit -m message
git commit
HistricoHistrico dos commitsgit log
Histrico de apenas um arquivogit log -p
Histrico de quem alterou o arquivogit blame
Bonusgit log --oneline --abbrev-commit --all --graph --decorate colorHistrico fru-fru
Repositrio remoto
Adicionar repositorio remotoAdicionando repositorio remotogit remote add origin https://github.com/draios/sysdig.git
Atualizar repositrio remoto
Atualizando repositrio remotogit push origin master
Atualizando repositrio localgit pull origin master
Boas PrticasRelate bem os commits
Nunca commit antes de testar.
Use branches
Commit sempre
Escreva boas mensagens nos commits
Aproveite o workflow do git (branches, merges, rebase, git-flow...)
No commit um trabalho inacabado
Git no um sistema de backup
Outras leiturashttp://www.git-tower.com/blog/git-cheat-sheet-detail/http://johnkary.net:8081/blog/git-add-p-the-most-powerful-git-feature-youre-not-using-yet/http://pcottle.github.io/learnGitBranching/index.htmlhttps://www.andyjeffries.co.uk/25-tips-for-intermediate-git-users/https://www.atlassian.com/git/tutorialshttp://wildlyinaccurate.com/a-hackers-guide-to-git/http://www.slideshare.net/RandalSchwartz/introduction-to-git-4346275?qid=31c8dd0c-dd04-43bb-9cd5-7c3c13a66f1b&v=qf1&b=&from_search=184