Para o Windows ele já vem junto ao github. Porém para o linux precisa instalar com os seguintes comandos:
sudo apt-get update
sudo apt-get install git-flow
Abra o seu novo repositório e digite:
git flow init
Após executar este comando no terminal ele irá fazer algumas perguntas referente a como você deseja a configuração do seu gitflow. Sendo elas:
1º Qual é o branch que será o de release para produção da sua aplicação?
3º Qual é a Branch de Develop?
4º Qual é a Branch de Feature?
5º Qual é a branch de Bugfix?
6º Qual é a branch de Release?
7º Qual é a branch de Hotfix?
8º Qual é tag pré-fixada? ?
Quando nós precisar desenvolver uma nova feature, teremos que criar uma branch especifica para esta feature. Então iremos utilizar o seguinte comando:
git flow feature start nome_da_feature_aqui
Após a implementação da feature, iremos adicionar os arquivos que queremos fazer o commit e depois criar este commit, com os seguintes comandos:
git add .
git commit -m "texto descrevendo o que foi feito no commit"
Então temos duas maneiras de subir este commit.
1º Caso nós finalizamos a implementação, e não temos mais nada a ser feito, iremos utilizar o comando a seguir, pois ele irá subir a nossa atualização para o develop e excluir a nossa branch de feature.
git flow feature finish nome_da_feature_aqui
2º Caso ainda não terminamos a implementação, mas precisamos subir os commits, iremos utilizar o sequinte comando:
git flow feature publish nome_da_feature_aqui
Todos os comandos acima, pode ser utilizado para as demais branchs como hotfix, release e outras.
Após a finalização das implementações do develop, iremos subir estas atualizaçãos para release com o seguinte comando:
git flow release start versão_da_release (1.0)
Após finaliza os testes iremos finalizar esta release com o seguinte comando:
git flow release finish versão_da_release (1.0)
Então ele irá atualizar a branch main e a develop. Ao executar este comando iremos colocar uma mensagem para a tag que esta sendo criada.
Caso encontre algum problema na versão da main, iremos utilizar o seguinte comando para criar uma branch de hotfix e fazer esta correção.
git flow hotfix start versão_da_hotfix (1.1)
E após a correção iremos fazer a atualização da branch main e develop com o seguinte comando:
git flow hotfix finish versão_da_hotfix (1.0)
No comando acima ele também irá pedir uma mensagem para a nova tag criada.
Para subir todos os branchs podemos utilizar o seguinte comando para atualizar as branchs e as tags no git hub:
git push --all
git push --tags