SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
Controle de Versão com Git
Prof. Robson Locatelli
Igor Ramon Fernandes Diniz
robson.locatelli@ufersa.edu.br
igordiniz.ufersa@gmail.com
AGENDA 2
» Trabalhando com
Remotos
» Fluxo de trabalho com
Branches
» Considerações finais
» Introdução
» Conceitos Iniciais
» O Git
» Instalação
» Primeiros Passos com Git
INTRODUÇÃO
3
Contextualização
Contextualização 4
Contextualização 5
Contextualização 6
INTRODUÇÃO
7
Controle de Versão
CONTROLE DE VERSÃO
» O que é controle de versão, e por que você deve se
importar?
» Registrar as mudanças feitas em um arquivo ou
um conjunto de arquivos ao longo do tempo de
forma que você possa recuperar versões
específicas.
8
O GIT
9
HISTÓRIA
HISTÓRIA
» Linus Torvalds , 2005
» Kernel Linux X Bitkeeper
» Relação “quebrou em pedaços”
» Git
» Uma gíria em inglês britânico para cabeça dura
» É o software de controle de versão mais
utilizado no mundo.
10
VANTAGENS
» Velocidade;
» Design Simples;
» Suporte robusto a desenvolvimento não linear
(criando branches);
» Totalmente distribuído;
» Capaz de lidar com grandes projetos;
11
DESVANTAGEM
» Complexidade
12
INSTALAÇÃO
13
INSTALANDO E CONFIGURANDO O GIT
» sudo apt install git
14
LinuxWindows
CONFIGURAÇÃO INICIAL
Configurar seu nome
git config --global user.name "Fulano de Tal"
Configurar seu e-mail
git config --global user.email fulanodetal@exemplo.br
15
AJUDA
Pedindo ajuda:
git help <verb>
git <verb> --help
man git-<verb>
16
PRIMEIROS
PASSOS
17
PRIMEIROS PASSOS NO GIT
PRIMEIROS PASSO NO GIT
» Como funciona
» Inicializar um Projeto
» Gravar alterações no repositório
» Ver o histórico
» Desfazer mudanças
» Alias
18
Como funciona?
19
OS TRÊS ESTADOS 20
» O workflow básico do Git pode ser descrito assim:
1. Você modifica arquivos no seu diretório de trabalho.
2. Você seleciona os arquivos, adicionando para sua
área de preparação.
3. Você faz um commit, que leva os arquivos como eles
estão na sua área de preparação e os armazena
permanentemente no seu diretório Git.
21
INICIALIZAR PROJETO LOCAL
» Criar uma pasta na área de trabalho;
» Inicializar: git init ;
» Crie um arquivo de extensão txt com algum texto;
» Verificar situação atual: git status ;
22
GRAVAR ALTERAÇÕES NO REPOSITÓRIO
» Adicionar na Staged área: git add <nomearquivo> ;
» Adicionar no repositório: git commit -m “Alteração ...”;
23
VER O HISTÓRICO
» Visualizar registro: git log ;
» Visualizar os dois últimos commits: git log -n 2 ;
» Resumo conciso: git log --oneline ;
» Resumo dos arquivos alterados: git log --stat ;
24
DESFAZENDO MUDANÇAS 25
DESFAZENDO MUDANÇAS 26
DESFAZENDO MUDANÇAS
» Não rastreadas
» git checkout -- <arquivo>
27
DESFAZENDO MUDANÇAS
» Não rastreadas
» git checkout -- <arquivo>
28
DESFAZENDO MUDANÇAS
» Já rastreadas
» Retirar da stage área
git reset -- <arquivo>
» Retirar da stage área e
descartar mudanças
git reset -- hard
29
DESFAZENDO MUDANÇAS
» Já comitadas
» git revert --no-edit
<código>
» git revert -- hard
<código>
30
ALIAS
Criando atalhos:
git config --global alias.co commit
git config --global alias.ckt chekout
git config --global alias.br branch
31
TRABALHANDO
COM REMOTOS
32
TRABALHANDO COM REMOTOS
DESFAZENDO MUDANÇAS
» Criar conta no Github
» Criar repositório
» Configurar máquina
» Subir alterações
» Atualizar projeto local
» Contribuindo em projetos open source
33
TRABALHANDO COM REMOTOS NO GIT 34
» Tom Preston-Werner e Chris Waanstrath e Pj
Hyett, 2008.
» “Grit”
» Hub para programadores.
» 19 de outubro de 2007, às 22:24 Chris faz o
primeiro commit.
» Versão Beta: 3 meses
» Objetivo de simplificar o compartilhamento de
projetos.
35TRABALHANDO COM REMOTOS NO GIT
36TRABALHANDO COM REMOTOS NO GIT
» Criar conta no Github
» Criar repositório
» Configurar repositório remoto: git remote add origin
<URL do projeto>
» Empurrar arquivos: git push -u origin master
» Puxar arquivos : git pull
37CONTRIBUINDO EM PROJETOS OPEN SOURCE
38CONTRIBUINDO EM PROJETOS OPEN SOURCE
» Entra no perfil do colega do lado
» Entra no repositório criado no minicurso
» Realize um fork do projeto
» Crie uma pasta no computador
» Abrir o bash na pasta
» Digite: git clone <URL do projeto forkado>
» Faça suas contribuições
» add, commit , push.
» Não colaborador
39CONTRIBUINDO EM PROJETOS OPEN SOURCE
» Pull request
40TRABALHANDO COM REMOTOS NO GIT
» Adicionar colaborador
FLUXO DE TRABALHO
COM BRANCHES
41
42FLUXO DE TRABALHO COM BRANCHS
43FLUXO DE TRABALHO COM BRANCHES
44
» Branch: Fluxo independe de desenvolvimento. Assim
podemos commitar novas versões do código sem afetar
os outras branches.
FLUXO DE TRABALHO COM BRANCHES
45FLUXO DE TRABALHO COM BRANCHES
» Visualizar branchs do projeto: git branch
» Visualizar branchs vinculadas ao commit: git branch -v
» Criar uma branch: git branch nomeBranch
46FLUXO DE TRABALHO COM BRANCHES
» Trocar de branch: git checkout nomeBranch
» Deletar branch: git branch -d nomeBranch
» Delatar branch com commits: git branch -D nomeBranch
47FLUXO DE TRABALHO COM BRANCHES
» Verificar branchs não mescladas: git branch --no-merged
» Mesclar branchs: git merge -m “mensagem”
QUIZ
Em qual dos três estados se encontra o arquivo.txt?
48
QUIZ
Você saberia dizer a diferença do git status para o
git log?
49
QUIZ
Quais os três estados que os arquivos podem ser
visualizados pelo git?
50
QUIZ
Em que ocasião se usa git reset e em que ocasião se
usa git revert?
51
CURIOSIDADES
52
PROJETOS QUE VOCÊ PODE CONTRIBUIR!
» DEVELOPETS (HTML, CSS, JS): https://github.com/vspedr/developets
» SOLARSYSTEM (HTML, CSS, JS): https://github.com/GYOVANNE/SolarSystem
» LISTA MARAVILHOSA OPEN SOURCE (*):
https://github.com/camilatigre/listamaravilhosaopensource
53
LIVROS 54
TUTORIAIS INTERATIVOS - Git - School 55
TUTORIAIS INTERATIVOS - Learning Git branch 56
Any questions?
57THANKS!
“Lembre-se que as pessoas podem tirar
tudo de você, menos o seu conhecimento”
Albert Einstein
REFERÊNCIAS
» https://git-scm.com/
» http://try.github.io/
» https://pt.wikipedia.org/wiki/Linus_Torvalds
» https://pontogpp.com.br/blog/tecnico/introduzindo-o-git
» https://github.github.com/training-kit/downloads/pt_BR/github-git-cheat-sheet/
» Aquiles A.; Ferreira R. Controlando versões com Git e Github. Casa do Código. Série Caelum.
» Imagens e Ícones: https://pixabay.com/pt/
» Tutorais interativos:
» http://git-school.github.io/visualizing-git/
» https://learngitbranching.js.org/
58
Controle de Versão com Git
Prof. Robson Locatelli
Igor Ramon Fernandes Diniz
robson.locatelli@ufersa.edu.br
igordiniz.ufersa@gmail.com

Mais conteúdo relacionado

Mais procurados

Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise gitmaxrosan
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteWaldyr Felix
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
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
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git TutorialLucas Brigida
 
Apresentação de Git
Apresentação de GitApresentação de Git
Apresentação de GitIsaacBessa
 
Git e Sistemas de Controle de Versão
Git e Sistemas de Controle de VersãoGit e Sistemas de Controle de Versão
Git e Sistemas de Controle de VersãoJhonatan Henrique
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - gitThiago Filadelfo
 
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
 
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
 
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
 
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
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubWilson Mendes
 

Mais procurados (20)

Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficiente
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
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
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
Apresentação de Git
Apresentação de GitApresentação de Git
Apresentação de Git
 
Git e Sistemas de Controle de Versão
Git e Sistemas de Controle de VersãoGit e Sistemas de Controle de Versão
Git e Sistemas de Controle de Versão
 
Git para Designers
Git para DesignersGit para Designers
Git para Designers
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
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
GitGit
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
 
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
 
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
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Git e github
Git e githubGit e github
Git e github
 
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
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-github
 
Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 

Semelhante a Controle de Versão com Git

Semelhante a Controle de Versão com Git (20)

Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantes
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdf
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Git workshop
Git workshopGit workshop
Git workshop
 
GIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoGIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento Semântico
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Git presentation
Git presentationGit presentation
Git presentation
 
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
 
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
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
 
Git 101
Git 101Git 101
Git 101
 
Introdução ao git e github
Introdução ao git e githubIntrodução ao git e github
Introdução ao git e github
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Git
GitGit
Git
 
Git
GitGit
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
 

Controle de Versão com Git