Use o git e perca o medo de errar

141
Bruno Calheira Use o Git e perca o Medo de Errar

Transcript of Use o git e perca o medo de errar

Page 1: Use o git e perca o medo de errar

Bruno Calheira

Use o Git e perca o Medo de Errar

Page 2: Use o git e perca o medo de errar

Quem é Bruno Calheira?

● Baiano● Matemático, Especialista em

Engenharia de Software● Técnico Judiciário do TJ-BA● Delegado Sindical● Consultor e Desenvolvedor Web

Freelancer apaixonado por Softwares Livres

Page 3: Use o git e perca o medo de errar

As FALHAS de hoje são os

degraus para o SUCESSO de

amanhã.

Page 4: Use o git e perca o medo de errar
Page 5: Use o git e perca o medo de errar

“O sucesso é 1% de inspiração

e 99% de transpiração.”

Thomas Edson

Page 6: Use o git e perca o medo de errar
Page 7: Use o git e perca o medo de errar
Page 8: Use o git e perca o medo de errar
Page 9: Use o git e perca o medo de errar

E se pudéssemos

voltar atrás e

corrigir os erros?

Page 10: Use o git e perca o medo de errar

Sistemas de Controle de Versões

SCV

Page 11: Use o git e perca o medo de errar

Sistemas de Controle de Versões

armazenam as alterações feitas em um

conjunto de arquivos ao longo do tempo,

permitindo que, posteriormente, você

retorne estes arquivos aos seus estados

anteriores.

Page 12: Use o git e perca o medo de errar

Eficiência

Vantagens de usar um SCV

Page 13: Use o git e perca o medo de errar

Eficiência● Economia de Espaço

Vantagens de usar um SCV

Page 14: Use o git e perca o medo de errar

Eficiência● Economia de Espaço

● Padronização das Informações a

respeito de cada versão

Vantagens de usar um SCV

Page 15: Use o git e perca o medo de errar

Eficiência● Economia de Espaço

● Padronização das Informações a

respeito de cada versão

● Destaca as diferenças de cada

versão salva

Vantagens de usar um SCV

Page 16: Use o git e perca o medo de errar

Vantagens de usar um SCV

Segurança

Page 17: Use o git e perca o medo de errar

Vantagens de usar um SCV

Segurança● Funciona como Backup

Page 18: Use o git e perca o medo de errar

Vantagens de usar um SCV

Segurança● Funciona como Backup

● Permite recuperar arquivos

apagados por acidente

Page 19: Use o git e perca o medo de errar

Vantagens de usar um SCV

Segurança● Funciona como Backup

● Permite recuperar arquivos

apagados por acidente

● Permite recuperar versões

anteriores de um arquivo

Page 20: Use o git e perca o medo de errar

Vantagens de usar um SCV

Colaboração

Page 21: Use o git e perca o medo de errar

Vantagens de usar um SCV

Colaboração● Múltiplos usuários podem

trabalhar em um mesmo arquivo

simultaneamente

Page 22: Use o git e perca o medo de errar

Vantagens de usar um SCV

Colaboração● Múltiplos usuários podem

trabalhar em um mesmo arquivo

simultaneamente

● Saber: quem alterou o quê,

quando e como

Page 23: Use o git e perca o medo de errar

Principais SCV

Page 24: Use o git e perca o medo de errar

Principais SCV

Page 25: Use o git e perca o medo de errar

Principais SCV

Page 26: Use o git e perca o medo de errar

Conhecendo o Git

Open Source

Page 27: Use o git e perca o medo de errar

Conhecendo o Git

Distribuído

Cada usuário possui um

repositório completo.

Page 28: Use o git e perca o medo de errar

Vocabulário

Repositório

Espécie de Banco de Dados onde o SCV armazena as versões e os metadados destas versões.

Page 29: Use o git e perca o medo de errar

Nos SCV Centralizados

existe uma única cópia

do Repositório

armazenada no Servidor

Page 30: Use o git e perca o medo de errar

O Git é um SVC Distribuído.

Cada usuário possui um

repositório completo.

Page 31: Use o git e perca o medo de errar

Conhecendo o Git

Rápido

Reduz a necessidade de

conexão com o servidor.

Page 32: Use o git e perca o medo de errar

Git - Trabalhando Off-line

● Ver o histórico

● Comparar diferenças

● Confirmar alterações

● ...

Page 33: Use o git e perca o medo de errar

Conhecendo o Git

Fácil Aprendizado

Comunidade ativa e

amigável.

Page 34: Use o git e perca o medo de errar

Git na Prática

Instalando o Git

Page 35: Use o git e perca o medo de errar

git-scm.com

Page 36: Use o git e perca o medo de errar

Quem tem medo do terminal?

Page 37: Use o git e perca o medo de errar

git-scm.com/downloads/guis

Page 38: Use o git e perca o medo de errar
Page 39: Use o git e perca o medo de errar

Git na Prática

Configurando o Git

Page 40: Use o git e perca o medo de errar

Comando

git config

Configura o git

Page 41: Use o git e perca o medo de errar

~ >

Page 42: Use o git e perca o medo de errar

~ > git config --global user.name “Fulano de Tal”

~ >

Page 43: Use o git e perca o medo de errar

~ > git config --global user.name “Fulano de Tal”

~ > git config --global user.email [email protected]

~ >

Page 44: Use o git e perca o medo de errar

~ > git config --list

Page 45: Use o git e perca o medo de errar

~ > git config --listuser.name=Fulano de Tal

[email protected]

core.editor=nano -wl1

color.ui=true

core.repositoryformatversion=0

core.filemode=true

core.bare=false

core.logallrefupdates=true

core.ignorecase=true

core.precomposeunicode=true

~ >

Page 46: Use o git e perca o medo de errar

Git na Prática

Criando um Repositório

Page 47: Use o git e perca o medo de errar
Page 48: Use o git e perca o medo de errar
Page 49: Use o git e perca o medo de errar

~ > cd Sites #entra no diretório Sites

~/Sites >

Page 50: Use o git e perca o medo de errar

~ > cd Sites #entra no diretório Sites

~/Sites > mkdir acaraqueijo #cria diretorio

Page 51: Use o git e perca o medo de errar

~ > cd Sites #entra no diretório Sites

~/Sites > mkdir acaraqueijo #cria diretorio

~/Sites > cd acaraqueijo

~/Sites/acaraqueijo >

Page 52: Use o git e perca o medo de errar

~ > cd Sites #entra no diretório Sites

~/Sites > mkdir acaraqueijo #cria diretorio

~/Sites > cd acaraqueijo

~/Sites/acaraqueijo > touch index.html #cria arquivo

Page 53: Use o git e perca o medo de errar
Page 54: Use o git e perca o medo de errar
Page 55: Use o git e perca o medo de errar

Comando

git init

Inicia um repositório

Page 56: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git init

Page 57: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git initInitialized empty Git repository in

/Users/brunocalheira/Sites/acaraqueijo/.git/

~/Sites/acaraqueijo >

Page 58: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git initInitialized empty Git repository in

/Users/brunocalheira/Sites/acaraqueijo/.git/

~/Sites/acaraqueijo > ls #listar conteúdo

Page 59: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git initInitialized empty Git repository in

/Users/brunocalheira/Sites/acaraqueijo/.git/

~/Sites/acaraqueijo > ls #listar conteúdo

index.html

~/Sites/acaraqueijo >

Page 60: Use o git e perca o medo de errar
Page 61: Use o git e perca o medo de errar

~/Sites/acaraqueijo > ls -a #listar ocultos. .. .git index.html

~/Sites/acaraqueijo >

Page 62: Use o git e perca o medo de errar

Git na Prática

Rastreando Arquivos

Page 63: Use o git e perca o medo de errar

Comando

git status

Verifica o status dos arquivos

Page 64: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git status

Page 65: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git statusOn branch master

Initial commit

Untracked files:

(use "git add <file>..." to include in what will be committed)

index.html

nothing added to commit but untracked files present (use "git add" to

track)

~/Sites/acaraqueijo >

Page 66: Use o git e perca o medo de errar

Comando

git add

Adiciona arquivos ao Stage

Page 67: Use o git e perca o medo de errar

Diretório de Trabalho

Área de Staging

RepositórioGit

Page 68: Use o git e perca o medo de errar

Diretório de Trabalho

Área de Staging

RepositórioGit

git add

Page 69: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add index.html

Page 70: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add index.html

~/Sites/acaraqueijo >

Page 71: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add index.html

~/Sites/acaraqueijo > git status

Page 72: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add index.html

~/Sites/acaraqueijo > git statusOn branch master

Initial commit

Changes to be committed:

(use "git rm --cached <file>..." to unstage)

new file: index.html

~/Sites/acaraqueijo >

Page 73: Use o git e perca o medo de errar

Comando

git commit

Confirma o registro de uma versãodo projeto no repositório

Page 74: Use o git e perca o medo de errar

Diretório de Trabalho

Área de Staging

RepositórioGit

git commit

Page 75: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git commit -m "Versão Inicial"

Page 76: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git commit -m "Versão Inicial"[master (root-commit) ba338c4] Versão Inicial

1 file changed, 15 insertions(+)

create mode 100644 index.html

~/Sites/acaraqueijo >

Page 77: Use o git e perca o medo de errar

Comando

git log

Consulta os commits realizados

Page 78: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git logcommit ba338c4f76e5b6acd8846e24443abd49050d8105

Author: Bruno Calheira <[email protected]>

Date: Sun May 24 17:01:14 2015 -0300

Versão Inicial

~/Sites/acaraqueijo >

Page 79: Use o git e perca o medo de errar

Vocabulário

Commit Hash

Identificador único de cada commit.Composto por 40 caracteres usando uma função de checksum.

Page 80: Use o git e perca o medo de errar

Git na Prática

Alterando o projeto

Page 81: Use o git e perca o medo de errar
Page 82: Use o git e perca o medo de errar
Page 83: Use o git e perca o medo de errar
Page 84: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git status Changes not staged for commit:

(use "git add <file>..." to update what will be committed)

(use "git checkout -- <file>..." to discard changes in working

directory)

modified: index.html

Untracked files:

(use "git add <file>..." to include in what will be committed)

style.css

no changes added to commit (use "git add" and/or "git commit -a")

~/Sites/acaraqueijo >

Page 85: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add .

~/Sites/acaraqueijo >

Page 86: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add .

~/Sites/acaraqueijo > git statusOn branch master

Changes to be committed:

(use "git reset HEAD <file>..." to unstage)

modified: index.html

new file: style.css

~/Sites/acaraqueijo >

Page 87: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git commit -m "Adiciona Folha de Estilos"

Page 88: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git commit -m "Adiciona Folha de Estilos"[master 0bab0e3] Adiciona Folha de Estilos

2 files changed, 12 insertions(+)

create mode 100644 style.css

~/Sites/acaraqueijo >

Page 89: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git log --oneline

Page 90: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git log --oneline0bab0e3 Adiciona Folha de Estilos

ba338c4 Versão Inicial

~/Sites/acaraqueijo >

Page 91: Use o git e perca o medo de errar

Git na Prática

Ramificando o projeto

Page 92: Use o git e perca o medo de errar

Comando

git branch

exibe, cria e deleta ramos

Page 93: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch

Page 94: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch * master

~/Sites/acaraqueijo >

Page 95: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch * master

~/Sites/acaraqueijo > git branch figura

~/Sites/acaraqueijo >

Page 96: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch * master

~/Sites/acaraqueijo > git branch figura

~/Sites/acaraqueijo > git branch

Page 97: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch * master

~/Sites/acaraqueijo > git branch figura

~/Sites/acaraqueijo > git branch figura

* master

~/Sites/acaraqueijo >

Page 98: Use o git e perca o medo de errar

Comando

git checkout

Carrega um arquivoCarrega um ramo

Carrega uma versão

Page 99: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch * master

~/Sites/acaraqueijo > git branch figura

~/Sites/acaraqueijo > git branch figura

* master

~/Sites/acaraqueijo > git checkout figura

Page 100: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch * master

~/Sites/acaraqueijo > git branch figura

~/Sites/acaraqueijo > git branch figura

* master

~/Sites/acaraqueijo > git checkout figuraSwitched to branch 'figura'

~/Sites/acaraqueijo >

Page 101: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git branch * master

~/Sites/acaraqueijo > git branch figura

~/Sites/acaraqueijo > git branch figura

* master

~/Sites/acaraqueijo > git checkout figuraSwitched to branch 'figura'

~/Sites/acaraqueijo > git branch* figura

master

~/Sites/acaraqueijo >

Page 102: Use o git e perca o medo de errar
Page 103: Use o git e perca o medo de errar
Page 104: Use o git e perca o medo de errar
Page 105: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add .

~/Sites/acaraqueijo > git commit -m "Adiciona Foto"

Page 106: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git add .

~/Sites/acaraqueijo > git commit -m "Adiciona Foto"[figura 0ba52ff] Adiciona Foto

2 files changed, 1 insertion(+)

create mode 100644 acaraqueijo.jpg

~/Sites/acaraqueijo >

Page 107: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git log --oneline0ba52ff Adiciona Foto

0bab0e3 Adiciona Folha de Estilos

ba338c4 Versão Inicial

~/Sites/acaraqueijo >

Page 108: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git log --oneline0ba52ff Adiciona Foto

0bab0e3 Adiciona Folha de Estilos

ba338c4 Versão Inicial

~/Sites/acaraqueijo > git checkout master

Switched to branch 'master'

~/Sites/acaraqueijo >

Page 109: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git log --oneline0ba52ff Adiciona Foto

0bab0e3 Adiciona Folha de Estilos

ba338c4 Versão Inicial

~/Sites/acaraqueijo > git checkout master

Switched to branch 'master'

~/Sites/acaraqueijo > git log --oneline

Page 110: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git log --oneline0ba52ff Adiciona Foto

0bab0e3 Adiciona Folha de Estilos

ba338c4 Versão Inicial

~/Sites/acaraqueijo > git checkout master

Switched to branch 'master'

~/Sites/acaraqueijo > git log --oneline0bab0e3 Adiciona Folha de Estilos

ba338c4 Versão Inicial

~/Sites/acaraqueijo >

Page 111: Use o git e perca o medo de errar
Page 112: Use o git e perca o medo de errar
Page 113: Use o git e perca o medo de errar

Comando

git merge

Agrega as versões de outro ramono ramo atual

Page 114: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git merge figura

Page 115: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git merge figura

Updating 0bab0e3..0ba52ff

Fast-forward

acaraqueijo.jpg | Bin 0 -> 50510 bytes

index.html | 1 +

2 files changed, 1 insertion(+)

create mode 100644 acaraqueijo.jpg

~/Sites/acaraqueijo >

Page 116: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git merge figura

Updating 0bab0e3..0ba52ff

Fast-forward

acaraqueijo.jpg | Bin 0 -> 50510 bytes

index.html | 1 +

2 files changed, 1 insertion(+)

create mode 100644 acaraqueijo.jpg

~/Sites/acaraqueijo > git log --oneline

Page 117: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git merge figura

Updating 0bab0e3..0ba52ff

Fast-forward

acaraqueijo.jpg | Bin 0 -> 50510 bytes

index.html | 1 +

2 files changed, 1 insertion(+)

create mode 100644 acaraqueijo.jpg

~/Sites/acaraqueijo > git log --oneline0ba52ff Adiciona Foto

0bab0e3 Adiciona Folha de Estilos

ba338c4 Versão Inicial

~/Sites/acaraqueijo >

Page 118: Use o git e perca o medo de errar
Page 119: Use o git e perca o medo de errar

Git na Prática

Repositórios Remotos

Page 120: Use o git e perca o medo de errar

GitLab.com

Page 121: Use o git e perca o medo de errar

Bitbucket.com

Page 122: Use o git e perca o medo de errar

GitHub.com

Page 123: Use o git e perca o medo de errar
Page 124: Use o git e perca o medo de errar
Page 125: Use o git e perca o medo de errar
Page 126: Use o git e perca o medo de errar
Page 127: Use o git e perca o medo de errar

Comando

git remote

lista, adiciona, remove repositórios remotos

Page 128: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git remote add origin https:

//github.com/calheira/acaraqueijo.git

~/Sites/acaraqueijo >

Page 129: Use o git e perca o medo de errar

Comando

git push

Envia as atualizações do repositório local

para o repositório remoto

Page 130: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git remote add origin https:

//github.com/calheira/acaraqueijo.git

~/Sites/acaraqueijo > git push -u origin master

Page 131: Use o git e perca o medo de errar

~/Sites/acaraqueijo > git remote add origin https:

//github.com/calheira/acaraqueijo.git

~/Sites/acaraqueijo > git push -u origin master Counting objects: 11, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (10/10), done.

Writing objects: 100% (11/11), 50.42 KiB | 0 bytes/s, done.

Total 11 (delta 2), reused 0 (delta 0)

To https://github.com/calheira/acaraqueijo.git

* [new branch] master -> master

Branch master set up to track remote branch master from origin.

~/Sites/acaraqueijo >

Page 132: Use o git e perca o medo de errar

https://github.com/calheira/acaraqueijo

Page 133: Use o git e perca o medo de errar

Git & WordPress

Page 134: Use o git e perca o medo de errar

Git & WordPress

Utilize o .gitignore para excluir os aquivos e diretórios sensíveis.

Page 135: Use o git e perca o medo de errar

Git & WordPress

Use o git controlar apenas arquivos que você altera com frequência.

Page 136: Use o git e perca o medo de errar

Git & WordPress

Use o git controlar apenas arquivos que você altera com frequência.

Controle apenas seuTema Filho.

Page 137: Use o git e perca o medo de errar

Git & WordPress

Para controlar o BD utilize o plugin Revisr.

Page 138: Use o git e perca o medo de errar

revisr.io

Page 139: Use o git e perca o medo de errar

Onde aprender mais?

http://git-scm.com/book/pt-br/v1

Page 140: Use o git e perca o medo de errar

Obrigado

pela atenção!

Page 141: Use o git e perca o medo de errar

Dúvidas?

Contato [email protected]

@brunocalheira