> For the complete documentation index, see [llms.txt](https://developers-friends.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers-friends.gitbook.io/blog/git/git-flow-1/configuracao-inicial.md).

# Configuração Inicial

## Resumo

* Iremos **criar uma pasta** em nosso computador (em qualquer diretório que preferir)&#x20;
* **Inicializaremos um repositório GIT** (partirei do pressuposto que você também já sabe como funciona um repositório)
* **Aplicaremos as configurações do Fluxo Git Flow** neste repositório.

## &#x20;Mão na massa :grin:

### Pré-requisitos

O **Git Flow** não é uma ferramenta padrão do **Git**, e por esse motivo precisamos antes de tudo realizar a instalação do plugin.

No Github tem o [passo a passo](https://github.com/nvie/gitflow/wiki/Installation) de como instalar em todos os ambientes.

### 1. Criando pasta

No diretório desejado, execute os comandos:

```typescript
mkdir app-gitflow // Criação de pasta
cd app-gitflow // Acessando pasta criada
```

### 2. Inicializando um repositório GIT

Dentro da pasta criada, execute o comando:

```typescript
git init // Indica a inicialização de um repositório GIT
```

### 3. Configurando o Fluxo Git Flow

Por padrão, o Git Flow não vem configurado num repositório GIT, logo vamos executar o **comando principal** e em seguida, você vai perceber o quão simples é configurar e ver este fluxo apto para uso.&#x20;

> ```typescript
> git flow init // Indica a inicialização do Fluxo Git Flow
> ```

Ao executar este comando é iniciada um pequena série de definições feitas através do console.

![](/files/-M8l79zT3VwA2Da41mH7)

Vamos entender cada item configurado, **se liga**!

```typescript
// Primeiro, a definição dos branches principais
No branches exist yet. Base branches must be created now.

// 1. Defina qual o nome do branch que armazenará o código de produção
Branch name for production releases: [master] 
// Por padrão, o GIT sugere que seja: master
// Basta apertar ENTER

// 2. Defina qual o nome do branch de desenvolvimento principal
Branch name for "next release" development: [develop]
// Por padrão, o GIT sugere que seja: develop
// Basta apertar ENTER

// Agora, a definição dos branches de apoio
How to name your supporting branch prefixes?

// 3. Defina o prefixo dos branches features
Feature branches? [feature/]
// Por padrão, o GIT sugere que seja: feature/
// Basta apertar ENTER

// 4. Defina o prefixo dos branches bugfixs
Bugfix branches? [bugfix/]
// Por padrão, o GIT sugere que seja: bugfix/
// Basta apertar ENTER

// 5. Defina o prefixo dos branches releases
Release branches? [release/]
// Por padrão, o GIT sugere que seja: release/
// Basta apertar ENTER

// 6. Defina o prefixo dos branches hotfixs
Hotfix branches? [hotfix/]
// Por padrão, o GIT sugere que seja: hotfix/
// Basta apertar ENTER

// 6. Defina o prefixo dos branches supports
Support branches? [support/]
// Por padrão, o GIT sugere que seja: support/
// Basta apertar ENTER

// 7. Defina o prefixo para cada versão gerada através de tags
Version tag prefix? []
// Basta apertar ENTER

// 7. Indique a pasta onde ficará os scripts(ganchos) personalizados do repositório
Hooks and filters directory? [<diretorio>/app-gitflow/.git/hooks]
// Por padrão, o GIT sugere a configuração padrão, alocada dentro da própria pasta
// Basta apertar ENTER
```

{% hint style="success" %}
Pronto, simples e rápido, já temos um modelo para **aplicarmos em qualquer repositório** durante o desenvolvimento de qualquer projeto ou aplicação!
{% endhint %}

{% hint style="info" %}
*Dica rápida*\
Você deve ter percebido que não precisamos configurar nenhum prefixo ao executar o **comando principal**, bastou **ENTER** a cada linh&#x61;**.**

Para pular essas configurações e configurar o fluxo de forma padrão, execute o comando principal com a flag **-d:**

> ```typescript
> git flow init -d
> ```

{% endhint %}

## Considerações finais

Ainda nesta **seção sobre Git Flow** você encontrará explicações e usos práticos de cada conjuntos de *branches*.

Recomendo que você explore cada uma delas pois, logo, você vai sentir que está *dominado o ciclo de desenvolvimento de uma aplicação*, de ponta-a-ponta, e ter total *capacidade de ajudar sua equipe de  desenvolvimento*!

**Obrigado por chegar até aqui!** :grin:

![O Autor](/files/-M7mSFYhAx839DBqUSiW)
