diff --git a/_images/git-workflow-gitflow.png b/_images/git-workflow-gitflow.png new file mode 100644 index 0000000..d2ddd67 Binary files /dev/null and b/_images/git-workflow-gitflow.png differ diff --git a/gitflow.html b/gitflow.html new file mode 100644 index 0000000..e947e97 --- /dev/null +++ b/gitflow.html @@ -0,0 +1,247 @@ + + + +
+ + +GIT Flow é um módulo extra para GIT para gerenciar o fluxo de desenvolvimento + padrão usando GIT.
+ +Hoje está tão difundido que praticamente todas as distribuições que tem o GIT + tem um pacote para GIT Flow (incluindo Windows).
+(ou, pelo menos, o esperado)
+ +Praticamente comum em SCVs com criação de branchs rápidas (como o GIT).
+git flow init
+ Branch name for production releases: [master]
+ Branch name for "next release" development: [develop]
+
+ How to name your supporting branch prefixes?
+ Feature branches? [feature/]
+ Release branches? [release/]
+ Hotfix branches? [hotfix/]
+ Support branches? [support/]
+ Version tag prefix? []
+
+ (Branches de suporte são experimentais: branches criados a partir do master que nunca + são feitos merge de volta.)
+git flow feature start minha_feature
Irá fazer um fork do branch + indicado como desenvolvimento com o nome "minha_feature".
+(feature start
vai começar outro branch a partir do desenvolvimento,
+ não do branch de feature atual.)
git flow feature finish
Faz o merge do branch atual de volta pro branch de desenvolvimento.
+git flow release start versão
Cria um branch de release a partir + do master e faz um merge com o branch de desenvolvimento, para aquela última + verificada.
+git flow release finish
Faz o merge da release atual para o master, destrói o branch de release, + bota a tag da versão no commit, faz o merge do branch master com desenvolvimento.
+git flow hotfix start fuckingdevs
Cria um branch a partir do master, passando por cima do desenvolvimento.
+git flow hotfix finish
Faz o merge do branch de hotfix de volta pro master, faz o merge do master com + o branch de desenvolvimento.
+Pequeno lembrete: todos os branches do git flow são locais.
+ +Por que isso é importante?
+Com branches locais, qualquer alteração que tu faz é feita localmente na máquina.
+git svn dcommit
vai mandar o branch atual pro repositório, então se
+ você estiver no seu master... Vai o que estiver depois do git flow release finish
.
O conceito de fluxos do GIT está tão difundido que já existem soluções prontas para: + +
Ou seja: tudo se resume à: git flow feature start
, fazer as alterações, verificar se os
+ testes locais passam e fazer um git push
.