desmistificando a ferramenta git

48
Desmistificando a ferramenta git

Upload: diogo-souza-machado

Post on 16-Apr-2017

428 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Desmistificando a ferramenta git

Desmistificando a ferramenta git

Page 2: 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;

Page 3: Desmistificando a ferramenta git

Como você faria para trabalhar em um software desenvolvido em grupo com um colega hoje?

Page 4: Desmistificando a ferramenta git

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"

Page 5: Desmistificando a ferramenta git

Linus TorvaldsCriador do Git

Page 6: Desmistificando a ferramenta 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;

Page 7: Desmistificando a ferramenta git
Page 8: Desmistificando a ferramenta git

Instalação

Page 9: Desmistificando a ferramenta git

Instalaçãosudo apt-get install git

Page 10: Desmistificando a ferramenta git

Configurações básicas

git config --global user.name "Diogo Machado"git config --global user.email [email protected] config --global color.ui auto

Page 11: Desmistificando a ferramenta git
Page 12: 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

Page 13: Desmistificando a ferramenta git

cloneQuando clonamos um projeto git do repositório

central

Page 14: Desmistificando a ferramenta git

Clonando nosso projeto

git clone [email protected]:/git/<nomeprojeto>.git

Page 15: Desmistificando a ferramenta git

Podemos também iniciar um repositório e adicionar o

remotocd <diretorio>git init

git remote add origin [email protected]:~/git/ifes.git

git pull origin master

Page 16: Desmistificando a ferramenta git

pullSignifica que vamos puxar todas as atualizações

do projeto

Page 17: Desmistificando a ferramenta git

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

Page 18: Desmistificando a ferramenta git

Ignorando pastastouch .gitignore Este arquivo irá dizer ao git para

ignorar tudo que for passado de parâmetro nele

Page 19: Desmistificando a ferramenta git

"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.

Page 20: Desmistificando a ferramenta git

commitÉ quando nós rotulamos para o git o que foi feito

Page 21: Desmistificando a ferramenta git

Verificando o loggit log

Page 22: Desmistificando a ferramenta git

Verificando o log + arquivos alterados

git log --stat

Page 23: Desmistificando a ferramenta git

pushSignifica que enviar todas as atualizações do

projeto

Page 24: Desmistificando a ferramenta git

Enviando alterações para o repositório central

git push origin masterDepois de adicionado os arquivos e comitado, nós vamos enviar nossas

alterações para o repositório central que criamos no nosso

servidor

Page 25: Desmistificando a ferramenta git

branchÉ uma frente de trabalho, ramificação. Por padrão

trabalhamos na branch Master

Page 26: Desmistificando a ferramenta git

master

banner-rotativo

Page 27: Desmistificando a ferramenta git

Até aqui, nós:Temos um repositório central

Adicionamos nossos arquivos

Comitamos, dizendo o que foi feito

Enviamos para o servidor

Page 28: Desmistificando a ferramenta git

Criando uma branch

git checkout -b "nova-feature"

Page 29: Desmistificando a ferramenta git

Verificando em qual brach está

git branch

Page 30: Desmistificando a ferramenta git

"Andando" de uma branch para a outra

git checkout masterO 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.

Page 31: Desmistificando a ferramenta git

Enviando a branch para o servidor

git push origin nova-feature

Page 32: Desmistificando a ferramenta git

mergeQuando unimos duas branchs

Page 33: Desmistificando a ferramenta git

Fazendo merge de uma branch

git push origin nova-feature

Page 34: Desmistificando a ferramenta git

Verificar todas suas branchs, tanto locais quanto remotas

git branch -a

Page 35: Desmistificando a ferramenta git

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?

Page 36: Desmistificando a ferramenta git

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

Page 37: Desmistificando a ferramenta git

E se eu já adicionei e commitei, mas não enviei para o servidor, e quero

voltar?

Page 38: Desmistificando a ferramenta git

Voltando um commitgit 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

Page 39: Desmistificando a ferramenta git

Lembre-se SEMPRE

Sempre dar git pull origin master

Não se esquecer te commitar suas alterações antes de ir

embora.

Page 40: Desmistificando a ferramenta git
Page 41: Desmistificando a ferramenta git

E se eu quiser manter mais de um repositório central?

Page 42: Desmistificando a ferramenta git

Adicionando repositório remoto

git remote add deploy [email protected]:~/git/ifes.git

Após o add nós nomeamos como quisermos, por padrão temos

sempre o origin que indica nossa branch master.

Page 43: Desmistificando a ferramenta git

Enviando para os dois

git push deploy master; git push origin master;

Page 44: Desmistificando a ferramenta git

Excluir arquivos não rastreados

git clean -f

Page 45: Desmistificando a ferramenta git

Aplicativos para Git

https://git-scm.com/downloads/guis

Page 46: Desmistificando a ferramenta git

• Rede social• Repositórios públicos• Repositórios privados• Conta empresa

• Repositórios públicos• Repositórios privados• Conta empresa• Outras ferramentas

Page 47: Desmistificando a ferramenta git

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)

Page 48: Desmistificando a ferramenta git

[email protected]

Obrigado :)