SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Git
Sistema de controle de versão
distribuído
Evandro da Silva Amparo
blog.evandroamparo.com
Resumo
Sistemas de controle de versão
Centralizado x distribuído
SVN x Git
Workflows
GitHub
Ferramentas visuais
Sistemas de controle de versão
Por quê?
Evitar que um desenvolvedor sobrescreva o código de outro
Desenvolver versões em paralelo
Saber o que foi alterado, quando e por quem
Recuperar código de uma versão anterior
E muito mais
Sistemas de controle de versão
Como?
Mantendo histórico de revisões
Sistemas de controle de versão
Como?
Facilitando a colaboração
Sistemas de controle de versão
Como?
Branches - versões em paralelo
Conceitos
Repositório
Conjunto de arquivos e de todo o histórico de
modificações de um projeto.
Tem a capacidade de "se lembrar" de todas as
alterações gravadas nele.
Conceitos
Revisão
Cada uma das alterações feitas num arquivo
ou repositório.
Conceitos
Cópia de trabalho
Uma cópia do repositório onde são feitas as
modificações.
Conceitos
Branch
É uma ramificação do repositório que pode
evoluir de maneira independente.
Conceitos
Master
É o branch principal.
Conceitos
Head
É uma referência para o commit atual
(última revisão)
Conceitos
Origin
Nome dado ao repositório remoto "primário",
onde devem ser feitas as sincronizações.
Conceitos
Staging area
Área intermediária
Adicionar alterações ao
index e depois comitar
Adicionar alterações ao
index e comitar ao
mesmo tempo
Centralizado
Distribuído
SVN x Git
Trunk
Checkout
Commit
Update
Revert
Commits/branches/tags
remotos
Master
Clone
Commit/Push
Update/Pull
Checkout
Commits/branches/tags
locais
Workflows
Configurando o Git
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Workflows
1 - Manter histórico de alterações
$ git init
$ git add readme.txt
$ git commit -m "initial project version"
$ git log
$ (editar readme.txt)
$ git diff
$ git add readme.txt
$ git commit -m "readme"
Workflows
2 - Branch & merge
$ git branch v2.0 # cria o branch
$ git checkout v2.0 # altera o branch atual
$ (editar readme.txt)
$ git add readme.txt
$ git commit -m "readme 2.0"
$ git checkout master
$ git merge v2.0
$ git branch -d v2.0 # exclui o branch
Workflows
3 - Usando um repositório remoto no GitHub
$ git clone https://github.com/tecsystem/RubyLab.git
$ (fazer alterações locais)
$ git pull # receber atualizações
$ gut push # enviar atualizações
Ferramentas visuais
GitHub for Windows
Source Tree
TortoiseGit
SmartGitHg
git-cola
Git Extensions
Links
● Conceitos Básicos de Controle de Versão de Software —
Centralizado e Distribuído
● Git para Usuários do Subversion, Parte 1 | Parte 2
● Aprendendo Git para quem conhece Subversion
● Começando com Git (para usuários de SVN ou CVS)
● Git Svn Crash Course
● Iniciando no GIT – Parte 1 | Parte 2
● Key Git Concepts
● GitCasts : Git Screencasts
● Git Immersion
● git - guia prático
● Git Magic
● Git Tutorials
● Git Workflows
● Git Reference
● GitGuys

Mais conteúdo relacionado

Mais procurados

Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowLucas Araújo Mezêncio
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucketMarcio Barbosa
 
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
 
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
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com GitVagner Santana
 
Aula 2 - Curso Git e Github - Webschool
Aula 2 - Curso Git e Github - WebschoolAula 2 - Curso Git e Github - Webschool
Aula 2 - 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
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVNLuciano Lima
 

Mais procurados (20)

Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
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
 
Git+github
Git+githubGit+github
Git+github
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
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
 
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
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Aula 2 - Curso Git e Github - Webschool
Aula 2 - Curso Git e Github - WebschoolAula 2 - Curso Git e Github - Webschool
Aula 2 - Curso Git e Github - Webschool
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git v2
Git v2Git v2
Git v2
 
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
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVN
 

Semelhante a Git: Sistema de controle de versão distribuído

Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git TutorialLucas Brigida
 
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWDesvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWMorganna Giovanelli de Souza
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoocfelipe
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Tchelinux
 
Descomplicando o controle de versão com git
Descomplicando o controle de versão com gitDescomplicando o controle de versão com git
Descomplicando o controle de versão com gitHumberto Streb
 
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 GitC. Augusto Proiete
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteComunidade NetPonto
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfAuriceliaRosa
 
Git para não manjadores
Git para não manjadoresGit para não manjadores
Git para não manjadoresWil Fernandes
 

Semelhante a Git: Sistema de controle de versão distribuído (20)

Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
Git ao GitHub
Git ao GitHubGit ao GitHub
Git ao GitHub
 
Git
GitGit
Git
 
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWDesvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
 
Git e github
Git e githubGit e github
Git e github
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Git
GitGit
Git
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
 
Git 101
Git 101Git 101
Git 101
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Descomplicando o controle de versão com git
Descomplicando o controle de versão com gitDescomplicando o controle de versão com git
Descomplicando o controle de versão com git
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
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
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto Proiete
 
Git + Github
Git + GithubGit + Github
Git + Github
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdf
 
Git para não manjadores
Git para não manjadoresGit para não manjadores
Git para não manjadores
 

Mais de Evandro da Silva Amparo

Como usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoComo usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoEvandro da Silva Amparo
 
Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020Evandro da Silva Amparo
 
Orientação a objetos no dia a dia do programador
Orientação a objetos  no dia a dia do programadorOrientação a objetos  no dia a dia do programador
Orientação a objetos no dia a dia do programadorEvandro da Silva Amparo
 
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...Evandro da Silva Amparo
 
A carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de softwareA carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de softwareEvandro da Silva Amparo
 
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...Evandro da Silva Amparo
 

Mais de Evandro da Silva Amparo (6)

Como usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoComo usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu código
 
Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020
 
Orientação a objetos no dia a dia do programador
Orientação a objetos  no dia a dia do programadorOrientação a objetos  no dia a dia do programador
Orientação a objetos no dia a dia do programador
 
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
 
A carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de softwareA carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de software
 
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
 

Git: Sistema de controle de versão distribuído