SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
GIT WORKFLOW
Uilian Ries
AGENDA
● Git workflow
○ Gitflow
○ Gitlab Flow
○ Github Flow
● Boas práticas
● Gitlab + Documentação
● Onde praticar
● Conclusão
Git Workflow
○ Git é uma extensa caixa de ferramentas
○ Workflow determina como operar em cada situação
Git Flow
Git Flow
● Utiliza branches master e develop
● Branch master somente para
estável
● Branch develop para
desenvolvimento
● Feature branch para nova feature
● Release branch para nova release
● Hotfix pode entrar direto no master
● Prós
○ Bem estabelecido e
padronizado
● Contras
○ Complexo de ser mantido
Github Flow
Github Flow
● Utiliza apenas branch master
● Novo branch para feature e hotfix
● Feature e hotfix fundem direto no
master
● Prós
○ Simples
○ Rápida entra para SaaS
● Contras
○ Não explica como resolver
ambiente, deployment, CI ...
Gitlab Flow
Gitlab Flow
● Utiliza três categorias de branch
○ Ambiente
○ Produção
○ Release
● Master branch como principal
● Feature e hotfix fundem direto no
master
● Aplica cherry-pick para promoção
● Prós
○ Simples
○ Controle em produção
● Contras
○ Difícil de praticar sem gitlab
Gitlab Flow
Production
Gitlab Flow
Environment
Gitlab Flow
Release
Commit mudanças relacionadas
● 1 commit = 1 mudança
● commit pequeno = fácil entendimento
● commit pequeno = fácil rollback
Teste antes de commitar
● Resista a tentação do commit
incompleto
● Git possui hooks
Teste antes de commitar
● gitlab-runner exec docker <job>
● .git/hooks/pre-commit
Utilize branches
● Evite a bagunça, use branch
● feature, hotfix, release, enhancement
Escreva boas mensagens
● Título curto, corpo detalhado
● Qual é o valor desse commit?
● O que motivou a mudança?
● Em geral use tempo presente
● Regra 50-72
Exemplos de mensagens
commit 5426da5180f0e2b85e61d055f384d290045963f4
Author: Uilian Ries <uilianries@gmail.com>
Date: Wed Mar 14 18:12:26 2018 -0300
Preciso de óculos novos
Exemplos de mensagens
commit 50dca190e22ada686e48bbcf0fe6129851f4113e
Author: Uilian Ries <uilianries@gmail.com>
Date: Wed Mar 14 18:12:26 2018 -0300
#42 Ativação de gateway por número de série
- Feature consiste em ativar qualquer gateway com número de série
válido, através de código gerado pelo servidor.
- Código de ativação é formado por 6 números e expira a cada 15 min
- Para que o código seja gerado, o cadastro precisa estar pronto. Ver #22
Faça commit com frequência
● Alta frequência = commit pequeno
● Facilita resolução de conflitos
● Permite compartilhar com frequência
Não faça commit de trabalho incompleto
● Commit somente trabalho completo
● Features complexas podem ser
quebradas em blocos
● Não faça commit antes de ir pra casa
Controle de versão != Sistema de backup
● Evite commitar binários
Adote um workflow
● Evite problemas de comunicação
● Utilize o mesmo workflow com o time
Gitlab + Documentação
● Gitlab consegue comparar texto puro
● Arquivos binários não são suportados
● Exemplo
○ gitlab.com/uilianries/documentation
Onde posso aprender git na prática?
● https://learngitbranching.js.org/
● https://try.github.io
Onde posso obter uma cola?
● git-tower.com/blog/git-cheat-sheet
Conclusão
● Commit mudanças relacionadas
● Commit com frequência
● Utilize branches
● Teste antes de commitar
● Escreva mensagem de valor
● Não faça meio-commit
● SCM não é backup
● Siga um workflow
Referências
● git-scm.com/book/en/v2/
● git-tower.com/
● nvie.com/posts/a-successful-git-branching-model/
● guides.github.com/introduction/flow/
● docs.gitlab.com/ce/workflow/gitlab_flow
GIT WORKFLOW: GITFLOW, GITHUB FLOW E GITLAB FLOW

Mais conteúdo relacionado

Mais procurados

Entrega contínua com github e windows azure
Entrega contínua com github e windows azureEntrega contínua com github e windows azure
Entrega contínua com github e windows azureLuis Rudge
 
Scrum e a Espiral Positiva
Scrum e a Espiral PositivaScrum e a Espiral Positiva
Scrum e a Espiral PositivaDouglas Aguiar
 
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Edison Costa
 
Conhecendo Angular 2
Conhecendo Angular 2Conhecendo Angular 2
Conhecendo Angular 2Lab 1024
 
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITMontando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITLeo Baiano
 
Usando git e scrum para trabalhar em equipe
Usando git e scrum para trabalhar em equipeUsando git e scrum para trabalhar em equipe
Usando git e scrum para trabalhar em equipeJuancito Arias
 
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHUtilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHIvan Paulovich
 
Iniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e BowerIniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e BowerMateus Padua
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealThiago Bertuzzi
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016Renato Groff
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git TutorialLucas Brigida
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...Emiliano Barbosa
 
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIMVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIAndre Baltieri
 
Angular Extreme Performance
Angular  Extreme PerformanceAngular  Extreme Performance
Angular Extreme PerformanceGustavo Costa
 
Deploy Automatizado usando Octopus
Deploy Automatizado usando OctopusDeploy Automatizado usando Octopus
Deploy Automatizado usando OctopusAndré Minelli
 

Mais procurados (20)

Entrega contínua com github e windows azure
Entrega contínua com github e windows azureEntrega contínua com github e windows azure
Entrega contínua com github e windows azure
 
Scrum e a Espiral Positiva
Scrum e a Espiral PositivaScrum e a Espiral Positiva
Scrum e a Espiral Positiva
 
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
 
Conhecendo Angular 2
Conhecendo Angular 2Conhecendo Angular 2
Conhecendo Angular 2
 
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITMontando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
 
Usando git e scrum para trabalhar em equipe
Usando git e scrum para trabalhar em equipeUsando git e scrum para trabalhar em equipe
Usando git e scrum para trabalhar em equipe
 
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHUtilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
 
Apresentação rest api
Apresentação rest apiApresentação rest api
Apresentação rest api
 
Iniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e BowerIniciando com Yeoman, Grunt e Bower
Iniciando com Yeoman, Grunt e Bower
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso Real
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...
 
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIMVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
 
Angular Extreme Performance
Angular  Extreme PerformanceAngular  Extreme Performance
Angular Extreme Performance
 
O futuro do asp.net mvc
O futuro do asp.net mvcO futuro do asp.net mvc
O futuro do asp.net mvc
 
Deploy Automatizado usando Octopus
Deploy Automatizado usando OctopusDeploy Automatizado usando Octopus
Deploy Automatizado usando Octopus
 

Semelhante a GIT WORKFLOW: GITFLOW, GITHUB FLOW E GITLAB FLOW

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Drupal camp campinas 2016 superando o gitflow (luiz henrique guerra)
Drupal camp campinas 2016   superando o gitflow (luiz henrique guerra)Drupal camp campinas 2016   superando o gitflow (luiz henrique guerra)
Drupal camp campinas 2016 superando o gitflow (luiz henrique guerra)Luiz Henrique Guerra
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowLucas Araújo Mezêncio
 
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Leonardo Ferreira Leite
 
Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaSamanta Cicilia
 
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia minastestingconference
 
Pipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbotPipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbotLappis UnB
 
Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesSuelen Carvalho
 
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
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para IniciantesIgorDiniz22
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!Vitor Silva
 

Semelhante a GIT WORKFLOW: GITFLOW, GITHUB FLOW E GITLAB FLOW (20)

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Drupal camp campinas 2016 superando o gitflow (luiz henrique guerra)
Drupal camp campinas 2016   superando o gitflow (luiz henrique guerra)Drupal camp campinas 2016   superando o gitflow (luiz henrique guerra)
Drupal camp campinas 2016 superando o gitflow (luiz henrique guerra)
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
BlingTech - Gitlab
BlingTech - GitlabBlingTech - Gitlab
BlingTech - Gitlab
 
Ferramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando gitFerramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando git
 
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao ElixirSecomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
 
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
 
Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega Contínua
 
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
 
WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Pipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbotPipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbot
 
Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differences
 
Git 101
Git 101Git 101
Git 101
 
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
 
Modelo de branches e GitFlow
Modelo de branches e GitFlowModelo de branches e GitFlow
Modelo de branches e GitFlow
 
Git v2
Git v2Git v2
Git v2
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para Iniciantes
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 

Mais de Uilian Ries

Gitlab - Creating C++ applications with Gitlab CI
Gitlab - Creating C++ applications with Gitlab CIGitlab - Creating C++ applications with Gitlab CI
Gitlab - Creating C++ applications with Gitlab CIUilian Ries
 
Conan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersConan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersUilian Ries
 
Meetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.ioMeetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.ioUilian Ries
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++Uilian Ries
 
Conan a C/C++ Package Manager
Conan a C/C++ Package ManagerConan a C/C++ Package Manager
Conan a C/C++ Package ManagerUilian Ries
 
Software Development Tools for C/C++
Software Development Tools for C/C++Software Development Tools for C/C++
Software Development Tools for C/C++Uilian Ries
 
Testes Unitários com GTest e Catch
Testes Unitários com GTest e CatchTestes Unitários com GTest e Catch
Testes Unitários com GTest e CatchUilian Ries
 
SECCOM 2017 - Conan.io o gerente de pacote para C e C++
SECCOM 2017 - Conan.io o gerente de pacote para C e C++SECCOM 2017 - Conan.io o gerente de pacote para C e C++
SECCOM 2017 - Conan.io o gerente de pacote para C e C++Uilian Ries
 
Elements of C++11
Elements of C++11Elements of C++11
Elements of C++11Uilian Ries
 
Unisinos - Proposta TCC 2015
Unisinos - Proposta TCC 2015Unisinos - Proposta TCC 2015
Unisinos - Proposta TCC 2015Uilian Ries
 

Mais de Uilian Ries (11)

Gitlab - Creating C++ applications with Gitlab CI
Gitlab - Creating C++ applications with Gitlab CIGitlab - Creating C++ applications with Gitlab CI
Gitlab - Creating C++ applications with Gitlab CI
 
Conan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersConan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for Developers
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
Meetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.ioMeetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.io
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++
 
Conan a C/C++ Package Manager
Conan a C/C++ Package ManagerConan a C/C++ Package Manager
Conan a C/C++ Package Manager
 
Software Development Tools for C/C++
Software Development Tools for C/C++Software Development Tools for C/C++
Software Development Tools for C/C++
 
Testes Unitários com GTest e Catch
Testes Unitários com GTest e CatchTestes Unitários com GTest e Catch
Testes Unitários com GTest e Catch
 
SECCOM 2017 - Conan.io o gerente de pacote para C e C++
SECCOM 2017 - Conan.io o gerente de pacote para C e C++SECCOM 2017 - Conan.io o gerente de pacote para C e C++
SECCOM 2017 - Conan.io o gerente de pacote para C e C++
 
Elements of C++11
Elements of C++11Elements of C++11
Elements of C++11
 
Unisinos - Proposta TCC 2015
Unisinos - Proposta TCC 2015Unisinos - Proposta TCC 2015
Unisinos - Proposta TCC 2015
 

GIT WORKFLOW: GITFLOW, GITHUB FLOW E GITLAB FLOW

  • 2. AGENDA ● Git workflow ○ Gitflow ○ Gitlab Flow ○ Github Flow ● Boas práticas ● Gitlab + Documentação ● Onde praticar ● Conclusão
  • 3. Git Workflow ○ Git é uma extensa caixa de ferramentas ○ Workflow determina como operar em cada situação
  • 5. Git Flow ● Utiliza branches master e develop ● Branch master somente para estável ● Branch develop para desenvolvimento ● Feature branch para nova feature ● Release branch para nova release ● Hotfix pode entrar direto no master ● Prós ○ Bem estabelecido e padronizado ● Contras ○ Complexo de ser mantido
  • 7. Github Flow ● Utiliza apenas branch master ● Novo branch para feature e hotfix ● Feature e hotfix fundem direto no master ● Prós ○ Simples ○ Rápida entra para SaaS ● Contras ○ Não explica como resolver ambiente, deployment, CI ...
  • 9. Gitlab Flow ● Utiliza três categorias de branch ○ Ambiente ○ Produção ○ Release ● Master branch como principal ● Feature e hotfix fundem direto no master ● Aplica cherry-pick para promoção ● Prós ○ Simples ○ Controle em produção ● Contras ○ Difícil de praticar sem gitlab
  • 13. Commit mudanças relacionadas ● 1 commit = 1 mudança ● commit pequeno = fácil entendimento ● commit pequeno = fácil rollback
  • 14. Teste antes de commitar ● Resista a tentação do commit incompleto ● Git possui hooks
  • 15. Teste antes de commitar ● gitlab-runner exec docker <job> ● .git/hooks/pre-commit
  • 16. Utilize branches ● Evite a bagunça, use branch ● feature, hotfix, release, enhancement
  • 17. Escreva boas mensagens ● Título curto, corpo detalhado ● Qual é o valor desse commit? ● O que motivou a mudança? ● Em geral use tempo presente ● Regra 50-72
  • 18. Exemplos de mensagens commit 5426da5180f0e2b85e61d055f384d290045963f4 Author: Uilian Ries <uilianries@gmail.com> Date: Wed Mar 14 18:12:26 2018 -0300 Preciso de óculos novos
  • 19. Exemplos de mensagens commit 50dca190e22ada686e48bbcf0fe6129851f4113e Author: Uilian Ries <uilianries@gmail.com> Date: Wed Mar 14 18:12:26 2018 -0300 #42 Ativação de gateway por número de série - Feature consiste em ativar qualquer gateway com número de série válido, através de código gerado pelo servidor. - Código de ativação é formado por 6 números e expira a cada 15 min - Para que o código seja gerado, o cadastro precisa estar pronto. Ver #22
  • 20. Faça commit com frequência ● Alta frequência = commit pequeno ● Facilita resolução de conflitos ● Permite compartilhar com frequência
  • 21. Não faça commit de trabalho incompleto ● Commit somente trabalho completo ● Features complexas podem ser quebradas em blocos ● Não faça commit antes de ir pra casa
  • 22. Controle de versão != Sistema de backup ● Evite commitar binários
  • 23. Adote um workflow ● Evite problemas de comunicação ● Utilize o mesmo workflow com o time
  • 24. Gitlab + Documentação ● Gitlab consegue comparar texto puro ● Arquivos binários não são suportados ● Exemplo ○ gitlab.com/uilianries/documentation
  • 25. Onde posso aprender git na prática? ● https://learngitbranching.js.org/ ● https://try.github.io
  • 26. Onde posso obter uma cola? ● git-tower.com/blog/git-cheat-sheet
  • 27. Conclusão ● Commit mudanças relacionadas ● Commit com frequência ● Utilize branches ● Teste antes de commitar ● Escreva mensagem de valor ● Não faça meio-commit ● SCM não é backup ● Siga um workflow
  • 28. Referências ● git-scm.com/book/en/v2/ ● git-tower.com/ ● nvie.com/posts/a-successful-git-branching-model/ ● guides.github.com/introduction/flow/ ● docs.gitlab.com/ce/workflow/gitlab_flow