Passo 1: Crie um novo diretório para o repositório Git e inicialize o repositório nesse diretório:
Precisamos assumir que você já instalou e configurou o git.
1 2 3 |
mkdir -p /home/alunoudemy/git-example cd git-example git init |
Passo 2: Commits no ramo “main” Crie e edite o arquivo example.txt com o seguinte conteúdo:
1 2 |
Essa é a linha 1. Essa é a linha 2. |
Agora, adicione e faça o commit do arquivo no ramo main:
1 2 |
git add example.txt git commit -m "Commit 1 no ramo main" |
Em seguida, faça mais um commit no ramo main, alterando o conteúdo do arquivo example.txt:
Arquivo example.txt no ramo main.
1 2 3 |
cat example.txt Essa é a linha 1. Essa é a linha 2 (alterado no commit 2). |
Adicione e faça o commit novamente:
1 2 |
git add example.txt git commit -m "Commit 2 no ramo main" |
Passo 3: Commits no ramo “feature” Agora, crie um novo ramo chamado feature e alterne para ele:
1 2 |
git branch feature git checkout feature |
Edite o arquivo example.txt no ramo feature com o seguinte conteúdo:
1 2 3 4 5 6 |
Arquivo example.txt no ramo feature. cat example.txt Essa é a linha 1. Essa é a linha 2 (alterado no commit 3 do ramo feature). Essa é a linha 3 (adicionado no commit 3 do ramo feature). |
Adicione e faça o commit das alterações no ramo feature:
1 2 |
git add example.txt git commit -m "Commit 3 no ramo feature" |
Passo 4: Merge do tipo fast-forward
Agora que temos três commits em cada ramo e nenhum commit adicional após a criação do ramo feature, podemos realizar um merge do tipo fast-forward para trazer as alterações do ramo feature para o main.
Primeiro, verifique em qual ramo você está:
1 |
git status |
Se estiver no ramo feature, mude para o ramo main:
1 |
git checkout main |
Agora, faça o merge do ramo feature no ramo main:
1 |
git merge feature |
O Git realizará um merge do tipo fast-forward, e o resultado será:
1 2 3 4 5 |
Arquivo example.txt no ramo main. Essa é a linha 1. Essa é a linha 2 (alterado no commit 3 do ramo feature). Essa é a linha 3 (adicionado no commit 3 do ramo feature). |
O merge foi concluído sem conflitos, e todas as alterações do ramo feature foram incorporadas ao ramo main. Nesse caso, o Git realizou um merge do tipo fast-forward porque não havia novos commits no ramo main desde a criação do ramo feature. O histórico de commits ficou linear, com o ramo main avançando até o commit mais recente do ramo feature.
Lembre-se de que o merge do tipo fast-forward é adequado quando o ramo alvo (main, no nosso caso) não possui commits adicionais após a criação do ramo de origem (feature, no nosso caso). Se houver novos commits no ramo alvo, o Git realizará um merge regular, que pode resultar em um commit de merge adicional para registrar a integração das alterações.