SlideShare uma empresa Scribd logo
1 de 79
Gerenciamento de projeto
e versionamento Semântico.
Djanilson Alves | 0xe Hacker Club
GIT
1. Git:
1.1 O que é
1.2 Objetivos
1.3 Porque usar controle de versão
1.4 vantagens
1.5 desvantagens
2. Passos iniciais:
2.1 Instação do GIT
2.2 Configurando git
2.3 Iniciando um repositorio(github)
2.4 Comit Inicial
2.5 Adicionando e enviando arquivos
2.6 Utilizando .gitignore
2
3. Gerenciando seus commits:
3.1 Introduzindo os conceitos de:
- status
- clone
- fetch
- remote
- push e pull
- update
- diff
- reset
3.2 Refazendo commits
3.3 Git Log
4. Gerenciamento de branchs (git flow):
4.1 Git flow
4.2 Gerenciamento de Tags
4.3 Versionamento Semântico
1.
O que é git
3
▹ Você poderá ir e vir entre diferentes
estágios do arquivo.
▹ Vai lhe dar menos dor de cabeça para
gerenciar arquivos.
▹ Geralmente você precisa de um método
backup consistente, quando a equipe é +
de 1.
Porque usar controle de
versão?4
Stage A
Stage B
Stage C
”
Ao usar um sistema de controle de
versão, você tem o poder de lhe dar
com o fluxo de mudanças
acontecendo com seus documentos.
5
2.
Passos iniciais
Por onde começar!?
6
Configurando seu git
git config --global user.name “your full name”
git config --global user.email “your email”
git config -l
*O ultimo comando listará todas as configurações.
7
Configurando seu git
git config --local user.name “your full name”
git config --local user.email “your email”
Global indica um valor global para todos os repositórios
criados no sistema por esse usuário do sistema, enquanto a
configuração local é exatamente o oposto.
8
3.
Gerenciando seus
commits
O que um mago precisa aprender ?
9
Palavras mágicas
Git é um grimório e você precisa usar a
magia certa em cada ocasião.
(Clone, push, pull, add, commit…)
Sempre use git <comando>
10
Iniciando um repositório
git init
Define o diretório atual como um
repositório.
11
Verificando arquivos
git status
Verifica o estado dos arquivos no
repositório atual.
12
Adicionando arquivos
git add <nome>
Verifica o estado dos arquivos no
repositório atual.
13
git add .
git add *.doc
Formas variadas de adicionar arquivos.
*mas cuidado com essas magias, elas
podem adicionar arquivos que talvez
você não queira.
Adicionando arquivos14
.gitignore
Escreva regras e ignore
pastas, arquivos, extensões
Ignorando arquivos15
git reset <filename>
Remove o arquivo da lista que irá para
o commit (STAGED)
Retirando arquivos do STAGED16
git checkout -- <filename.ext>
Remove alterações no arquivo
apontado.
Não queria ter modificado isso !?17
git commit –m "your comments for the
commit"
Envia seus arquivos para o repositório
local com a “mensagem”.
Commitando suas mudanças18
git commit
Abre um editor(vi) de texto para você
escrever o commit
Commitando suas mudanças19
[1] git commit --amend
[2] git commit --amend --no-edit
[1] Abre um editor(vi) para você
reescrever a msg do commit
[2] Apenas coloca os arquivos do
staged junto com o commit
Errei o commit e agora ?
(reescrevendo a historia)20
git reset HEAD^1 [--soft | --mixed| --hard ]
--soft desfaz commit e deixa arquivos em
staged
--mixed desfaz commit e deixa arquivos fora
do staged, mas com as modificações.
--hard desfaz commit e tira arquivos do
staged e desfaz as modificações.
Errei o commit e agora ?
(desfazendo a historia)21
git log
git log --graph
gitk
Um grimório com histórico de ações.
Observando commits22
git log<enter>
Observando commits23
git log<enter>
Observando commits24
git log<enter>
Observando commits25
git log<enter>
Observando commits26
5 primeiros
git checkout <commit ID>
Voltando no tempo27
Voltando no tempo28
Voltando no tempo29
Voltando no tempo30
Voltando no tempo31
5 primeiros
git checkout <commit ID>
Voltando no tempo32
4.
Repositório remote e
local
Seu código na internet
33
Senário 1 - Single Player
Seu game disponível para você apenas
continuar.
34
Senário 1 - Single Player
Seu game disponível para você apenas
continuar.
Sem você precisar começar do zero
toda vez.
35
Git Data Transport36
Git Data Transport37
reset
Senário 2 - Multiplayer
Seu game disponível para você apenas
continuar.
Sem você precisar começar do zero
toda vez.
E você pode chamar outros players
38
Melhor que um
mago, são muitos
magos juntos.
39
“
Melhor que um
mago, são muitos
magos juntos.
40
“
Considere que se você não consegue
seguir para o level seguinte, um amigo
com um build diferente pode fazer isso
para você e depois você continua.
(ou fazer mais rápido)
Superando desafios em grupo41
5.
Branchs
Viagem entre dimensões
42
Dividir para conquistar43
Branchs
Utilizado para criar uma cópia do workspace, com um
novo nome, a fim de trabalhar em uma tarefa
específica.
Pq usar?
Experimento, resolver bugs, separar o que vai ou não
para o cliente, gerenciar tarefas.
Dividir para conquistar44
git checkout -b <name>
Cria uma nova branch com o nome específico.
git branch [-r]
Lista as branchs disponiveis. [-r] exibirá as branch no
ripositório local.
Branchs: Criando e Listando45
git branch -D <nome>
D maiúsculo Deleta a branch localmente.
git branch -d <nome>
D minúsculo Deleta a branch localmente se tiver sido
feito merge com a branch atual.
Branchs: Removendo46
git remote
git clone
git fetch
git push
git pull
5 Novas magias47
git remote <command> <alias> <url>
Git remote48
git remote <command> <alias> <url>
git remote add origin <url>
Git remote49
git remote <command> <alias> <url>
git remote add origin <url>
Esse comando insere um git repository
com uma o nome de origin.
Este habilitará você de usar push & pull
Git remote50
git remote <command> <alias> <url>
git remote add origin <url>
Esse comando insere um git repository
com uma o nome de origin.
Este habilitará você de usar push & pull
Git remote51
git pull <remote>
git pull origin
Ele irá buscar do servidor todas as
modificações e inserir no seu repo local
alterando seu workspace com as
modificações.
‘Catando’ os checkpoints52
git fetch <remote>
git fetch origin
Ele irá buscar do servidor todas as
modificações e inserir no seu repo local.
*Porém não irá modificar seu workspace;
‘Catando’ os checkpoints53
54
reset
6.
Merge - Unindo branches
55
git merge <name>
Une a branch informada com a branch atual.
Unindo branchs56
Quando duas pessoas mudam o mesmo trecho do
arquivo o merge pode dar conflito
Merge CONFLICT57
cat
Dog
Conflito
Merge CONFLICT58
Merge CONFLICT59
Merge CONFLICT60
cat
Dog
cat
cat
Dog
git checkout --theirs
Faz o Merge favorecendo a mudança deles.
git checkout --ours
Faz o Merge favorecendo nossas mudança.
Merge CONFLICT61
git commit
Uma mensagem automática de merge irá ser escrita.
Merge branch 'adicionar-guerreiros'
Resolvendo conflitos de merge62
Mrege resolved63
cat
Dog
6.
Tags e
Versionamento semântico
Criando numeros magicos
64
Criando Tags65
git tag x.x.x
Cria uma nova tag
git push --tag | git push origin x.x.x
Manda as tags para o remote. | manda uma tag para o
remote.
git tag -l
listar as tags
Deletando tags66
git tag -d x.x.x
Deleta a tag localmente
git push --delete origin x.x.x
Deleta a tag no remote.
Versionando Corretamente67
X.Y.Z (major.minor.patch)
1. versão Maior(MAJOR): quando fizer mudanças
incompatíveis e que vai quebrar coisas.
2. versão Menor(MINOR): quando adicionar
funcionalidades mantendo compatibilidade,
3. versão de Correção(PATCH): quando corrigir
falhas mantendo compatibilidade.
Versionando Corretamente68
X.Y.Z (major.minor.patch)
▹ X, Y, e Z são inteiros não negativos
▹ Nunca modifique a versão. Qualquer modificação DEVE ser lançado
como uma nova versão.
(Por exemplo: 1.9.0 -> 1.10.0 -> 1.11.0.)
▹ No início do desenvolvimento, a versão Maior DEVE ser zero (0.y.z).
Qualquer coisa pode mudar a qualquer momento. A API pública não
deve ser considerada estável.
Versionando Corretamente69
x.y.Z (major.minor.patch)
▹ Versão 1.0.0 define a API como pública. A maneira como o número de
versão é incrementado após este lançamento é dependente da API
pública e como ela muda.
▹ Versão de Correção Z (x.y.Z | x > 0) DEVE ser incrementado apenas se
mantiver compatibilidade e introduzir correções de bugs.
▹ Versão Menor Y (x.Y.z | x > 0) DEVE ser incrementada se uma
funcionalidade nova e compatível for introduzida na API pública.
Versionando Corretamente70
x.y.Z (major.minor.patch)
▹ Versão Maior X (X.y.z | X > 0) DEVE ser incrementada se forem
introduzidas mudanças incompatíveis que irá quebrar o que estiver
usando a versão anterior.
▹ Uma versão de Pré-Lançamento (pre-release) PODE ser identificada
adicionando um hífen (dash) e uma série de identificadores separados
por ponto (dot) imediatamente após a versão de Correção.
(Exemplos: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.)
7.
Git Flow
Gerenciando o fluxo de branchs
71
O qué git flow ?72
GitFlow é um modelo de ramificação para Git.
▹ Desenvolvimento paralelo
▹ Colaboração
▹ Area de Release
▹ Suporte para correções de emergência
Como boa prática
Utilize Issue tracking.73
É um meio de listar as issues presente nos gerenciadores
de repositórios.
▹ Crie uma Issue.
▹ Crie a branch com o numero da issue.
▹ Crie um Merge Request [WIP] com o a branch e o numero da Issue.
▹ Quando terminar o trabalho retire o WIP.
O qué git flow ?74
Duas Branchs com o histórico do repositório
O qué git flow ?75
Novas features nascem da develop e voltam para ela,
Nunca interagem com a master
O qué git flow ?76
Quando estiver tudo pronto para o release, cria-se a
branch de release, integra-se com a master, gerando uma
tag, e a develop.
O qué git flow ?77
Correções urgentes, cria-se a branch hotfix e corrige-se o
erro, manda para develop e faz um novo release e versão.
Referências
git - the simple guide
http://rogerdudler.github.io/git-guide/
Git: Version Control for Everyone
https://git-scm.com/book/en/v2
Git: Version Control for Everyone
https://www.packtpub.com/application-development/git-version-control-everyone
Versionamento Semântico 2.0.0
http://semver.org/lang/pt-BR/
Git Flow
https://leanpub.com/git-flow/read
78
79
OBRIGADO!
djanilson.alves@gmail.com

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Git e git hub para iniciantes
Git e git hub para iniciantesGit e git hub para iniciantes
Git e git hub para iniciantes
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHub
 
Controle de versão com e git
Controle de versão com e gitControle de versão com e git
Controle de versão com e git
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Git v2
Git v2Git v2
Git v2
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Git+github
Git+githubGit+github
Git+github
 
Git
GitGit
Git
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de código
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
 

Semelhante a Gerenciamento de projetos com Git e versionamento semântico

Semelhante a Gerenciamento de projetos com Git e versionamento semântico (20)

Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Git e github
Git e githubGit e github
Git e github
 
Descomplicando o controle de versão com git
Descomplicando o controle de versão com gitDescomplicando o controle de versão com git
Descomplicando o controle de versão com git
 
Introdução ao Git
Introdução ao Git   Introdução ao Git
Introdução ao Git
 
Git 101
Git 101Git 101
Git 101
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
Oficina de Git EEDACT2015
Oficina de Git EEDACT2015Oficina de Git EEDACT2015
Oficina de Git EEDACT2015
 
Git workshop
Git workshopGit workshop
Git workshop
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Git
GitGit
Git
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Git
GitGit
Git
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para Iniciantes
 
Git
GitGit
Git
 

Gerenciamento de projetos com Git e versionamento semântico

  • 1. Gerenciamento de projeto e versionamento Semântico. Djanilson Alves | 0xe Hacker Club GIT
  • 2. 1. Git: 1.1 O que é 1.2 Objetivos 1.3 Porque usar controle de versão 1.4 vantagens 1.5 desvantagens 2. Passos iniciais: 2.1 Instação do GIT 2.2 Configurando git 2.3 Iniciando um repositorio(github) 2.4 Comit Inicial 2.5 Adicionando e enviando arquivos 2.6 Utilizando .gitignore 2 3. Gerenciando seus commits: 3.1 Introduzindo os conceitos de: - status - clone - fetch - remote - push e pull - update - diff - reset 3.2 Refazendo commits 3.3 Git Log 4. Gerenciamento de branchs (git flow): 4.1 Git flow 4.2 Gerenciamento de Tags 4.3 Versionamento Semântico
  • 3. 1. O que é git 3
  • 4. ▹ Você poderá ir e vir entre diferentes estágios do arquivo. ▹ Vai lhe dar menos dor de cabeça para gerenciar arquivos. ▹ Geralmente você precisa de um método backup consistente, quando a equipe é + de 1. Porque usar controle de versão?4 Stage A Stage B Stage C
  • 5. ” Ao usar um sistema de controle de versão, você tem o poder de lhe dar com o fluxo de mudanças acontecendo com seus documentos. 5
  • 7. Configurando seu git git config --global user.name “your full name” git config --global user.email “your email” git config -l *O ultimo comando listará todas as configurações. 7
  • 8. Configurando seu git git config --local user.name “your full name” git config --local user.email “your email” Global indica um valor global para todos os repositórios criados no sistema por esse usuário do sistema, enquanto a configuração local é exatamente o oposto. 8
  • 9. 3. Gerenciando seus commits O que um mago precisa aprender ? 9
  • 10. Palavras mágicas Git é um grimório e você precisa usar a magia certa em cada ocasião. (Clone, push, pull, add, commit…) Sempre use git <comando> 10
  • 11. Iniciando um repositório git init Define o diretório atual como um repositório. 11
  • 12. Verificando arquivos git status Verifica o estado dos arquivos no repositório atual. 12
  • 13. Adicionando arquivos git add <nome> Verifica o estado dos arquivos no repositório atual. 13
  • 14. git add . git add *.doc Formas variadas de adicionar arquivos. *mas cuidado com essas magias, elas podem adicionar arquivos que talvez você não queira. Adicionando arquivos14
  • 15. .gitignore Escreva regras e ignore pastas, arquivos, extensões Ignorando arquivos15
  • 16. git reset <filename> Remove o arquivo da lista que irá para o commit (STAGED) Retirando arquivos do STAGED16
  • 17. git checkout -- <filename.ext> Remove alterações no arquivo apontado. Não queria ter modificado isso !?17
  • 18. git commit –m "your comments for the commit" Envia seus arquivos para o repositório local com a “mensagem”. Commitando suas mudanças18
  • 19. git commit Abre um editor(vi) de texto para você escrever o commit Commitando suas mudanças19
  • 20. [1] git commit --amend [2] git commit --amend --no-edit [1] Abre um editor(vi) para você reescrever a msg do commit [2] Apenas coloca os arquivos do staged junto com o commit Errei o commit e agora ? (reescrevendo a historia)20
  • 21. git reset HEAD^1 [--soft | --mixed| --hard ] --soft desfaz commit e deixa arquivos em staged --mixed desfaz commit e deixa arquivos fora do staged, mas com as modificações. --hard desfaz commit e tira arquivos do staged e desfaz as modificações. Errei o commit e agora ? (desfazendo a historia)21
  • 22. git log git log --graph gitk Um grimório com histórico de ações. Observando commits22
  • 27. 5 primeiros git checkout <commit ID> Voltando no tempo27
  • 32. 5 primeiros git checkout <commit ID> Voltando no tempo32
  • 33. 4. Repositório remote e local Seu código na internet 33
  • 34. Senário 1 - Single Player Seu game disponível para você apenas continuar. 34
  • 35. Senário 1 - Single Player Seu game disponível para você apenas continuar. Sem você precisar começar do zero toda vez. 35
  • 38. Senário 2 - Multiplayer Seu game disponível para você apenas continuar. Sem você precisar começar do zero toda vez. E você pode chamar outros players 38
  • 39. Melhor que um mago, são muitos magos juntos. 39 “
  • 40. Melhor que um mago, são muitos magos juntos. 40 “
  • 41. Considere que se você não consegue seguir para o level seguinte, um amigo com um build diferente pode fazer isso para você e depois você continua. (ou fazer mais rápido) Superando desafios em grupo41
  • 44. Branchs Utilizado para criar uma cópia do workspace, com um novo nome, a fim de trabalhar em uma tarefa específica. Pq usar? Experimento, resolver bugs, separar o que vai ou não para o cliente, gerenciar tarefas. Dividir para conquistar44
  • 45. git checkout -b <name> Cria uma nova branch com o nome específico. git branch [-r] Lista as branchs disponiveis. [-r] exibirá as branch no ripositório local. Branchs: Criando e Listando45
  • 46. git branch -D <nome> D maiúsculo Deleta a branch localmente. git branch -d <nome> D minúsculo Deleta a branch localmente se tiver sido feito merge com a branch atual. Branchs: Removendo46
  • 47. git remote git clone git fetch git push git pull 5 Novas magias47
  • 48. git remote <command> <alias> <url> Git remote48
  • 49. git remote <command> <alias> <url> git remote add origin <url> Git remote49
  • 50. git remote <command> <alias> <url> git remote add origin <url> Esse comando insere um git repository com uma o nome de origin. Este habilitará você de usar push & pull Git remote50
  • 51. git remote <command> <alias> <url> git remote add origin <url> Esse comando insere um git repository com uma o nome de origin. Este habilitará você de usar push & pull Git remote51
  • 52. git pull <remote> git pull origin Ele irá buscar do servidor todas as modificações e inserir no seu repo local alterando seu workspace com as modificações. ‘Catando’ os checkpoints52
  • 53. git fetch <remote> git fetch origin Ele irá buscar do servidor todas as modificações e inserir no seu repo local. *Porém não irá modificar seu workspace; ‘Catando’ os checkpoints53
  • 55. 6. Merge - Unindo branches 55
  • 56. git merge <name> Une a branch informada com a branch atual. Unindo branchs56
  • 57. Quando duas pessoas mudam o mesmo trecho do arquivo o merge pode dar conflito Merge CONFLICT57 cat Dog Conflito
  • 60. Merge CONFLICT60 cat Dog cat cat Dog git checkout --theirs Faz o Merge favorecendo a mudança deles. git checkout --ours Faz o Merge favorecendo nossas mudança.
  • 62. git commit Uma mensagem automática de merge irá ser escrita. Merge branch 'adicionar-guerreiros' Resolvendo conflitos de merge62
  • 65. Criando Tags65 git tag x.x.x Cria uma nova tag git push --tag | git push origin x.x.x Manda as tags para o remote. | manda uma tag para o remote. git tag -l listar as tags
  • 66. Deletando tags66 git tag -d x.x.x Deleta a tag localmente git push --delete origin x.x.x Deleta a tag no remote.
  • 67. Versionando Corretamente67 X.Y.Z (major.minor.patch) 1. versão Maior(MAJOR): quando fizer mudanças incompatíveis e que vai quebrar coisas. 2. versão Menor(MINOR): quando adicionar funcionalidades mantendo compatibilidade, 3. versão de Correção(PATCH): quando corrigir falhas mantendo compatibilidade.
  • 68. Versionando Corretamente68 X.Y.Z (major.minor.patch) ▹ X, Y, e Z são inteiros não negativos ▹ Nunca modifique a versão. Qualquer modificação DEVE ser lançado como uma nova versão. (Por exemplo: 1.9.0 -> 1.10.0 -> 1.11.0.) ▹ No início do desenvolvimento, a versão Maior DEVE ser zero (0.y.z). Qualquer coisa pode mudar a qualquer momento. A API pública não deve ser considerada estável.
  • 69. Versionando Corretamente69 x.y.Z (major.minor.patch) ▹ Versão 1.0.0 define a API como pública. A maneira como o número de versão é incrementado após este lançamento é dependente da API pública e como ela muda. ▹ Versão de Correção Z (x.y.Z | x > 0) DEVE ser incrementado apenas se mantiver compatibilidade e introduzir correções de bugs. ▹ Versão Menor Y (x.Y.z | x > 0) DEVE ser incrementada se uma funcionalidade nova e compatível for introduzida na API pública.
  • 70. Versionando Corretamente70 x.y.Z (major.minor.patch) ▹ Versão Maior X (X.y.z | X > 0) DEVE ser incrementada se forem introduzidas mudanças incompatíveis que irá quebrar o que estiver usando a versão anterior. ▹ Uma versão de Pré-Lançamento (pre-release) PODE ser identificada adicionando um hífen (dash) e uma série de identificadores separados por ponto (dot) imediatamente após a versão de Correção. (Exemplos: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.)
  • 71. 7. Git Flow Gerenciando o fluxo de branchs 71
  • 72. O qué git flow ?72 GitFlow é um modelo de ramificação para Git. ▹ Desenvolvimento paralelo ▹ Colaboração ▹ Area de Release ▹ Suporte para correções de emergência
  • 73. Como boa prática Utilize Issue tracking.73 É um meio de listar as issues presente nos gerenciadores de repositórios. ▹ Crie uma Issue. ▹ Crie a branch com o numero da issue. ▹ Crie um Merge Request [WIP] com o a branch e o numero da Issue. ▹ Quando terminar o trabalho retire o WIP.
  • 74. O qué git flow ?74 Duas Branchs com o histórico do repositório
  • 75. O qué git flow ?75 Novas features nascem da develop e voltam para ela, Nunca interagem com a master
  • 76. O qué git flow ?76 Quando estiver tudo pronto para o release, cria-se a branch de release, integra-se com a master, gerando uma tag, e a develop.
  • 77. O qué git flow ?77 Correções urgentes, cria-se a branch hotfix e corrige-se o erro, manda para develop e faz um novo release e versão.
  • 78. Referências git - the simple guide http://rogerdudler.github.io/git-guide/ Git: Version Control for Everyone https://git-scm.com/book/en/v2 Git: Version Control for Everyone https://www.packtpub.com/application-development/git-version-control-everyone Versionamento Semântico 2.0.0 http://semver.org/lang/pt-BR/ Git Flow https://leanpub.com/git-flow/read 78