SlideShare uma empresa Scribd logo
1 de 48
Desmistificando a
ferramenta git
Diogo Machado
• Desenvolvedor web à 4 anos
e meio na São Camilo ES;
• Formado pelo IFES;
• Já participei de mais de 20
projetos de software;
• Destaque na revista Galileu
em 2011 pelo projeto
Educação na nuvem;
• Empreendedor;
Como você faria para trabalhar em um software
desenvolvido em grupo com um colega hoje?
Git é uma ferramenta para registrar alterações
feitas em um conjunto de arquivos ao longo do
tempo, uma tarefa tradicionalmente conhecida
como "controle de versão"
Linus Torvalds
Criador do Git
• Verificar o estado do seu projeto em qualquer ponto
no passado;
• Mostrar diferenças entre diversos estágios;
• Dividir o desenvolvimento em frentes de trabalho,
os chamados "branches";
• Recombinar periodicamente os branches em um
processo chamado de merge;
• Permitir que muitas pessoas trabalhem
simultaneamente;
Instalação
Instalação
sudo apt-get install git
Configurações básicas
git config --global user.name "Diogo Machado"
git config --global user.email diogo@diogomachado.com
git config --global color.ui auto
Repositório central no nosso
servidor
mkdir ifes.git
git init --bare --bare porque esse repositório será
nossa base para que outras pessoas
possam baixar e atualizar o projeto
Para seguirmos um padrão adotado
pelos desenvolvedores, vamos criar a
pasta com final .git
clone
Quando clonamos um projeto git do repositório central
Clonando nosso projeto
git clone root@192.168.201.48:/git/<nomeprojeto>.git
Podemos também iniciar um
repositório e adicionar o remoto
cd <diretorio>
git init
git remote add origin root@123.123.234.23:~/git/ifes.git
git pull origin master
pull
Significa que vamos puxar todas as atualizações do
projeto
Adicionando arquivos para
rastrear mudanças
git add .
git add <nomearquivo> Podemos também adicionar apenas um
arquivo, ou um diretório inteiro para ser
rastreado pelo git.
O ponto fala para o git adicionar todos
os arquivos da pasta para serem
rastreados
Ignorando pastas
touch .gitignore Este arquivo irá dizer ao git para ignorar
tudo que for passado de parâmetro nele
"Commitando"
git status
git commit -m "Banner rotativo add"
Passamos -m para descrevermos a
nossa alteração.
Antes de commitar, nós podemos ver o
que está na lista para ser rastreado.
commit
É quando nós rotulamos para o git o que foi feito
Verificando o log
git log
Verificando o log + arquivos alterados
git log --stat
push
Significa que enviar todas as atualizações do projeto
Enviando alterações para o
repositório central
git push origin master
Depois de adicionado os arquivos e
comitado, nós vamos enviar nossas
alterações para o repositório central que
criamos no nosso servidor
branch
É uma frente de trabalho, ramificação. Por padrão
trabalhamos na branch Master
master
banner-rotativo
Até aqui, nós:
Temos um repositório central
Adicionamos nossos arquivos
Comitamos, dizendo o que foi feito
Enviamos para o servidor
Criando uma branch
git checkout -b "nova-feature"
Verificando em qual brach está
git branch
"Andando" de uma branch para a outra
git checkout master O git só me deixa ir para outra branch
assim que eu commitar todas as
alterações realizados nos arquivos
rastreados. Se não fiz nada, ele anda de
voltar para o master.
Enviando a branch para o servidor
git push origin nova-feature
merge
Quando unimos duas branchs
Fazendo merge de uma branch
git push origin nova-feature
Verificar todas suas branchs, tanto
locais quanto remotas
git branch -a
E se meu colega comitou e enviou uma
alteração e eu não baixei e estou tentando
enviar com push para o repositório?
Vai te pedir para fazer um git pull origin master
Auto-merge Conflito no merge
Irá fazer um merge automático
dos arquivos.
Vai te avisar de conflitos, e
automaticamente irá lhe
apresentar dentro do arquivo as
diferenças entre um commit e
outro.
Adicione os arquivos corrigidos e manda denovo.
1ª possibilidade 2ª possibilidade
E se eu já adicionei e commitei, mas não
enviei para o servidor, e quero voltar?
Voltando um commit
git reset --soft HEAD~1 Irá voltar o commit mantando as últimas
alterações realizadas no git,
possibilitando fazermos um pull ou
mesmo um novo commit
Lembre-se SEMPRE
Sempre dar git pull origin master
Não se esquecer te commitar suas
alterações antes de ir embora.
E se eu quiser manter mais de um repositório
central?
Adicionando repositório
remoto
git remote add deploy ubuntu@182.123.213.23:~/git/ifes.git
Após o add nós nomeamos como
quisermos, por padrão temos sempre o
origin que indica nossa branch master.
Enviando para os dois
git push deploy master; git push origin master;
Excluir arquivos não
rastreados
git clean -f
Aplicativos para Git
https://git-scm.com/downloads/guis
• Rede social
• Repositórios públicos
• Repositórios privados
• Conta empresa
• Repositórios públicos
• Repositórios privados
• Conta empresa
• Outras ferramentas
Links úteis
• http://rogerdudler.github.io/git-guide/index.pt_BR.html (Guia prático)
• https://git-scm.com/ (Site oficial)
• http://try.github.com/ (Site interativo)
diogo@diogomachado.com
Obrigado :)

Mais conteúdo relacionado

Mais procurados

Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e GitIgor Steinmacher
 
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
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
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
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Aula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - WebschoolAula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - WebschoolBruno Orlandi
 
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
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHubWagner
 
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...Jadson Santos
 
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
 
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
 
Apresentação de Git
Apresentação de GitApresentação de Git
Apresentação de GitIsaacBessa
 

Mais procurados (20)

Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
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
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
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 e Github
Git e GithubGit e Github
Git e Github
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Aula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - WebschoolAula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - Webschool
 
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
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Git
GitGit
Git
 
Git - GitHub
Git - GitHubGit - GitHub
Git - 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 curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
 
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 flow na prática
Git flow na práticaGit flow na prática
Git flow na prática
 
Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
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
 
Apresentação de Git
Apresentação de GitApresentação de Git
Apresentação de Git
 

Semelhante a Desmistificando a ferramenta git

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
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
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteWaldyr Felix
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilTiago Antônio da Silva
 
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ânticoDjanilson Alves
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 
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 GitHubGilson Junior
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Erik Cruz
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 

Semelhante a Desmistificando a ferramenta git (20)

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
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
Git e githubGit e github
Git e github
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git 101
Git 101Git 101
Git 101
 
Ferramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando gitFerramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando git
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficiente
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
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
 
Git
GitGit
Git
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
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
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Git & GitHub for beginners
Git & GitHub for beginnersGit & GitHub for beginners
Git & GitHub for beginners
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Git
GitGit
Git
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 

Desmistificando a ferramenta git