SlideShare uma empresa Scribd logo
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;
Desmistificando a ferramenta git
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
Desmistificando a ferramenta git
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.
Desmistificando a ferramenta git
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

PPTX
PPTX
Controle de versão com e git
PPTX
PDF
Learn about Git - Git Tutorial
PDF
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
KEY
Git para quem vem do SVN
PDF
Introdução ao Git
PDF
Aprendendo Git
Controle de versão com e git
Learn about Git - Git Tutorial
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Git para quem vem do SVN
Introdução ao Git
Aprendendo Git

Mais procurados (20)

PDF
Introdução ao GitHub e Git
PDF
Aula 4 - Curso Git e Github - Webschool
PPTX
Introdução ao git
PDF
Git e GitHub
PPTX
Git - Fluxo do Versionamento adotado
PDF
Controle de versão com Git e BitBucket
PDF
PDF
Controle de versionamento com Git
PDF
Aula 3 - Curso Git e Github - Webschool
PDF
Aula 5 - Curso Git e Github - Webschool
PPT
Git e GitHub - Conceitos Básicos
ODP
Git - GitHub
PDF
Controle de versão e colaboração com Git
PDF
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
PPTX
Mini aula-sublime-text-git-e-github
PDF
Git flow na prática
PPTX
Git do Zero - Campus Party #12
PDF
Controle de Versão Distribuído com Git básico
PDF
Apresentação de Git
Introdução ao GitHub e Git
Aula 4 - Curso Git e Github - Webschool
Introdução ao git
Git e GitHub
Git - Fluxo do Versionamento adotado
Controle de versão com Git e BitBucket
Controle de versionamento com Git
Aula 3 - Curso Git e Github - Webschool
Aula 5 - Curso Git e Github - Webschool
Git e GitHub - Conceitos Básicos
Git - GitHub
Controle de versão e colaboração com Git
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Mini aula-sublime-text-git-e-github
Git flow na prática
Git do Zero - Campus Party #12
Controle de Versão Distribuído com Git básico
Apresentação de Git
Anúncio

Semelhante a Desmistificando a ferramenta git (20)

PDF
Minicurso GIT PET Computação
PPTX
Git - Sistema Descentralizado de Controle de Versões
PDF
Aula de git luiza code - Slides git e github
PPTX
Git e github
PDF
Minicurso GIT 2022 - SENAC
PDF
Git 101
PPTX
Ferramentas para versionamento Utilizando git
PPTX
Git - Rápido, seguro, eficiente
PDF
GitHub_versao2024-githubGitHub_versao2024-github
PDF
Git e GitHub: Versionamento de Código Fácil
PDF
GIT - Gerenciamento de Projeto e Versionamento Semântico
PDF
Minicurso GIT Completo (2022)
ODP
Git Rápido e Fácil
PDF
Rogue Snail Talk - Usando Git na Game Jam - WGJ
PPTX
Workshop de Introdução ao Git GitHub
PDF
Usando Git na Unity - Gaming For All 2021
PPTX
Git & GitHub for beginners
PDF
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Minicurso GIT PET Computação
Git - Sistema Descentralizado de Controle de Versões
Aula de git luiza code - Slides git e github
Git e github
Minicurso GIT 2022 - SENAC
Git 101
Ferramentas para versionamento Utilizando git
Git - Rápido, seguro, eficiente
GitHub_versao2024-githubGitHub_versao2024-github
Git e GitHub: Versionamento de Código Fácil
GIT - Gerenciamento de Projeto e Versionamento Semântico
Minicurso GIT Completo (2022)
Git Rápido e Fácil
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Workshop de Introdução ao Git GitHub
Usando Git na Unity - Gaming For All 2021
Git & GitHub for beginners
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Anúncio

Último (11)

PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Utilizando code blockes por andre backes
PDF
Jira Software projetos completos com scrum
PPTX
Eng. Software - pontos essenciais para o início
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Conceitos básicos de Redes Neurais Artificiais
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Tipos de servidor em redes de computador.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Utilizando code blockes por andre backes
Jira Software projetos completos com scrum
Eng. Software - pontos essenciais para o início
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf

Desmistificando a ferramenta git