Neste desafio, o seu objetivo é aprender a utilizar o git rebase
de forma eficaz, reordenando commits para manter o histórico de commits limpo e linear. Vamos simular uma situação comum em projetos colaborativos, onde você terá que reorganizar seus commits antes de enviar suas alterações para o repositório remoto.
Você está trabalhando em uma feature importante e criou vários commits para salvar seu progresso. No entanto, antes de enviar suas alterações para o repositório remoto, você percebe que seu histórico de commits está desorganizado ou contém commits irrelevantes. Seu objetivo é utilizar o git rebase para melhorar a clareza e a organização do histórico de commits.
Etapas do Desafio:
Clone o repositório de teste:
Se você já possui um repositório local, vá para a pasta do repositório. Caso contrário, clone o repositório:
git clone <URL_DO_REPOSITORIO>
Crie uma nova branch:
Como boa prática, crie uma nova branch para realizar suas alterações:
git checkout -b minha-feature
Faça algumas alterações nos arquivos do projeto e crie vários commits. Exemplo:
Faça uma alteração no arquivo README.md e crie um commit:
git add .
git commit -m "Primeira alteração no README"
git add .
git commit -m "Segunda alteração no outro arquivo"
git add .
git commit -m "Terceira alteração no terceiro arquivo"
Agora você tem três commits que podem ser reordenados, modificados ou combinados.
Agora que você tem alguns commits no seu histórico, vamos começar a reorganizá-los usando git rebase
.
Verifique o histórico de commits:
Veja os commits que você acabou de criar:
git log --oneline
Inicie o rebase interativo:
Use o comando abaixo para iniciar o rebase dos últimos três commits:
git rebase -i HEAD~3
Reorganize ou combine os commits:
No editor que abrir, você verá algo como:
pick 1a2b3c4 Primeira alteração no README
pick 5d6e7f8 Segunda alteração no outro arquivo
pick 9g0h1i2 Terceira alteração no terceiro arquivo
Agora, você pode:
- Reordenar: Mova os commits para a ordem desejada.
- Unificar: Deixar todas as alterações em um unico
commit
Envie as alterações:
git push origin minha-feature --force
Use git rebase -i para sempre revisar e organizar seus commits antes de enviar para o repositório remoto. Caso você precise abortar o rebase, use git rebase --abort para voltar ao estado anterior. O rebase é ideal para manter o histórico limpo, mas em equipes grandes, tenha cuidado com o --force para não sobrescrever mudanças importantes. Agora é sua vez! Use o git rebase para manter seu histórico de commits limpo e organizado. Isso será essencial para manter a qualidade do seu trabalho em projetos colaborativos maiores. Boa sorte! 💻