Gitlab flow solo (pt-BR)

18
Gitlab flow solo (pt-BR) Por @viniciusban Baseado em https://speakerdeck.com/ogom/gitlab-flow

description

Workflow seguro para trabalhar sozinho com git.

Transcript of Gitlab flow solo (pt-BR)

Page 1: Gitlab flow solo (pt-BR)

Gitlab flow solo (pt-BR)

Por @viniciusban Baseado em https://speakerdeck.com/ogom/gitlab-flow

Page 2: Gitlab flow solo (pt-BR)

Crie um projeto

master

$ git init .ou$ git clone <url_do_projeto_ja_existente> .

Page 3: Gitlab flow solo (pt-BR)

Uma dica

use branches & tags

$ git checkout -b PRODUCAO$ git checkout master

Page 4: Gitlab flow solo (pt-BR)

Crie um feature branch

master

feature

Para cada funcionalidade que será desenvolvida

$ git checkout -b minha_nova_funcionalidade

Page 5: Gitlab flow solo (pt-BR)

Faça commits

master

feature

Quantos forem necessários

$ git add meu_novo_programa.py$ git commit -m 'Essa funcionalidade eh muito boa'

Page 6: Gitlab flow solo (pt-BR)

Merge

master

feature

Integre com o branch MASTER

$ git checkout master$ git merge minha_nova_funcionalidade

Page 7: Gitlab flow solo (pt-BR)

Deploy

master

producao

Integre MASTER → PRODUCAO.Crie uma tag.Faça deploy.

v1.0

servidorweb

deploy

$ git checkout PRODUCAO$ git merge master$ git tag -a v1.0 -m 'Primeira versao de producao \o/'$ rodar_meu_script_de_deploy

Page 8: Gitlab flow solo (pt-BR)

quando houver erro em produção...

Page 9: Gitlab flow solo (pt-BR)

Crie um branch

master

producao

correcao

Para corrigir o erro

v1.0

$ git checkout PRODUCAO$ git checkout -b CORRECAO

Page 10: Gitlab flow solo (pt-BR)

Faça commits

master

producao

correcao

v1.0

No branch CORRECAO

$ git add programa_com_erro.py$ git commit -m 'Pronto, consertei'

Page 11: Gitlab flow solo (pt-BR)

Deploy

master

producao

correcao

Integre CORRECAO → PRODUCAO.Crie uma tag.Faça deploy.

v1.0 v1.0.1

servidorwebdeploy

$ git checkout PRODUCAO$ git merge CORRECAO$ git tag -a v1.0.1 -m 'Corrigi aquele bug chato'$ rodar_meu_script_de_deploy

Page 12: Gitlab flow solo (pt-BR)

antes de continuar nova feature...

Page 13: Gitlab flow solo (pt-BR)

Merge

master

producao

Integre PRODUCAO→ MASTER

v1.0 v1.0.1

$ git checkout master$ git merge PRODUCAO

Page 14: Gitlab flow solo (pt-BR)

Merge

master

producao

Integre PRODUCAO → MASTER

v1.0 v1.0.1

MASTER, agora, tem a mesma correção que PRODUCAO

Page 15: Gitlab flow solo (pt-BR)

Por que branches?

● Código antigo intacto até saber se o novo funciona

● Produção separada do desenvolvimento e manutenção

● Portanto:– Nunca commit direto em MASTER

– Nunca commit direto em PRODUCAO

– Só faça merge neles

Page 16: Gitlab flow solo (pt-BR)

Por que tags?

● Para voltar versão facilmente– Apenas um git checkout <tag>

– Rapidez e simplicidade em caso de emergência

Page 17: Gitlab flow solo (pt-BR)

Outra dica

apague os branches antigos e sem uso

$ git branch -d minha_antiga_funcionalidade

Page 18: Gitlab flow solo (pt-BR)

referência

● https://speakerdeck.com/ogom/gitlab-flow