# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers-friends.gitbook.io/blog/git/git-flow-1/configuracao-inicial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
