SlideShare uma empresa Scribd logo
1 de 29
Introdução ao git e github
OHC - Bauru/SP
Bruno “dropped” Criado
(bruno|dropped)@tttruth.com
Agenda
● Sistema de Controle de Versão
– O que é um SCV
– Por que usar
– Tipos
● Git
– História
– Propósito
– Características
– Workflow
– Demo
● Github
O que é um SCV (VCS)
Qualquer sistema prática que possa
prover rastreamento e controle sobre as
mudanças de documentos.
Por que usar?
Por que usar?
•
Facilidade na navegação de mudanças
realizadas
•
Compartilhamento entre os
interessados.
•
Agilidade no deploy da aplicação em
desenvolvimento e produção
Tipos de SCV
Centralizado Descentralizado / Distribuído
História
•
BitKeeper era utilizado por desenvolvedores do Linux
Kernel
•
2005 BitKeeper deixa de ser livre (versão comunitaria)
•
2005 Linus Torvalds escreve o git
Propósito:
•
Desenvolvimento distribuído
•
Arquivos grandes
•
Merges complexos
•
Vários branches
•
Ser muito rápido
•
Ser robusto
Características
•
Identificadores universais (SHA1)
•
Multi-protocol
•
HTTP(S)
•
SSH
•
RSYNC
•
GIT
•
Armazenamento eficiente
•
Todos tem um repositório inteiro
•
Facilidade com branches e merges
•
Atualizações podem ser enviadas por email
•
Binários SÃO suportados
•
Importa/exporta CVS
•
Importa/exporta SVN
Workflow
Comandos git
•
Iniciam com 'git'
•
git <commando> (config, pull, push, clone, commit, add... )
•
Man-pages podem ser acessadas com git-comando
•
man git-pull
•
Para obter ajuda rápida sobre algum comando:
•
git help comando
•
git comando --help
Configuração básica
•
Configurar username:
•
git config --global user.name “Seu Nome”
•
Configurar email:
• git config --global user.email seuemail@dominio.ext
•
Configurar editor:
•
sudo git config --system core.editor gedit
Novo repositório
•
Iniciando um novo repositório:
•
git init novo_projeto
•
cd novo_projeto
•
ls -la
Clonar repositorio
•
Clonando repositório
•
git clone https://github.com/torvalds/linux.git
•
git clone git://github.com/SU-SWS/open_framework.git
•
git clone ssh://username@siteground199.com:18765/home/username/public_html
Ciclo de vida de um arquivo
Estatus do repositório
•
Obtendo estatus do repositório
•
git status
Monitorar arquivos
•
Monitorando arquivos
•
git add arquivo_novo
•
Arquivos modificados
•
git add arquivo_modificado
•
Bonus
•
git add -p
•
Adiciona apenas as mudanças na stage area ao invés do
arquivo inteiro
Diferenças nos arquivos
•
Vendo as modificações realizadas nos arquivos na stage area
•
git diff
•
Bonus
•
git diff <commitid> <commitid>
•
Ver diferenças entre commits
Entregando as mudificações
•
“Commitando” as modificações da stage area
•
git commit -m “message”
•
git commit
Histórico
•
Histórico dos commits
•
git log
•
Histórico de apenas um arquivo
•
git log -p <arquivo>
•
Histórico de quem alterou o arquivo
•
git blame <arquivo>
•
Bonus
•
git log --oneline --abbrev-commit --all --graph --decorate –color
•
Histórico “fru-fru”
Repositório remoto
Adicionar repositorio remoto
•
Adicionando repositorio remoto
•
git remote add origin https://github.com/draios/sysdig.git
Atualizar repositório remoto
•
Atualizando repositório remoto
•
git push origin master
•
Atualizando repositório local
•
git pull origin master
Boas Práticas
•
Relate 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...)
•
Não commit um trabalho inacabado
•
Git não é um sistema de backup
Outras leituras
http://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.html
https://www.andyjeffries.co.uk/25-tips-for-intermediate-git-users/
https://www.atlassian.com/git/tutorials
http://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

Mais conteúdo relacionado

Mais procurados

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Aula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - WebschoolAula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - WebschoolBruno Orlandi
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoFabricio Nogueira
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livresThiago Sciotta
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Jonathan Célio
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesLeandro Cavalcante
 
Aula 5 - Curso Git e Github - Webschool
Aula 5 - Curso Git e Github - WebschoolAula 5 - Curso Git e Github - Webschool
Aula 5 - Curso Git e Github - WebschoolBruno Orlandi
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro AlvesLeandro Alves
 
Git e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonGit e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonAlysson Ajackson
 
Aula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolAula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolBruno Orlandi
 
Controle de versão com git
Controle de versão com gitControle de versão com git
Controle de versão com gitIgorDiniz22
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteWaldyr Felix
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para IniciantesIgorDiniz22
 

Mais procurados (20)

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Aula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - WebschoolAula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - Webschool
 
Git e github
Git e githubGit e github
Git e github
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livres
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
Aula 5 - Curso Git e Github - Webschool
Aula 5 - Curso Git e Github - WebschoolAula 5 - Curso Git e Github - Webschool
Aula 5 - Curso Git e Github - Webschool
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro Alves
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Controle de versão com e git
Controle de versão com e gitControle de versão com e git
Controle de versão com e git
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonGit e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson Ajackson
 
Aula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolAula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - Webschool
 
Git+github
Git+githubGit+github
Git+github
 
Controle de versão com git
Controle de versão com gitControle de versão com git
Controle de versão com git
 
Git
GitGit
Git
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficiente
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para Iniciantes
 

Semelhante a Introdução ao git e github

Semelhante a Introdução ao git e github (20)

Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com Git
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Curso git-0001
Curso git-0001Curso git-0001
Curso git-0001
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Versionamento de código em UiPath: Um guia prático.pdf
Versionamento de código em UiPath: Um guia prático.pdfVersionamento de código em UiPath: Um guia prático.pdf
Versionamento de código em UiPath: Um guia prático.pdf
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdf
 
Git
GitGit
Git
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
 
Git
GitGit
Git
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 
PDC - Engenharia - Git e Gitorious
PDC - Engenharia - Git e GitoriousPDC - Engenharia - Git e Gitorious
PDC - Engenharia - Git e Gitorious
 
GitHub para não programadores
GitHub para não programadoresGitHub para não programadores
GitHub para não programadores
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Palestra sobre Git EEDACT2015
Palestra sobre Git EEDACT2015Palestra sobre Git EEDACT2015
Palestra sobre Git EEDACT2015
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
 

Introdução ao git e github