Fusão e abóbora em Git
Na maioria das vezes, nos deparamos com uma situação ao trabalhar em um branch de trabalho específico, e temos que nos comprometer do branch de trabalho para o branch principal. Mas já temos muitos commits prontos para vários problemas encontrados no branch de trabalho.
Este artigo irá discutir como mesclar e esmagar muitos commits de trabalho em um único commit usando os comandos git. Com a ajuda dos comandos squash e merge no git, podemos mesclar todos os commits de nossos pedidos desejados em um único commit e manter um histórico limpo. Eliminar os commits nos ajuda a limpar o histórico de commits do nosso branch desejado quando ele aceita nossa solicitação de fusão. Ele inclui todas as mudanças que mencionamos na solicitação de mesclagem como um único commit e, posteriormente, mescla esse commit com a ajuda do método de mesclagem especificado para o projeto.
Suponha que temos dois ramos:
- Ramo de trabalho
- Ramificação principal
Ramo de Checkout Git para Fusão
Para esmagar todos os commits de nosso branch de trabalho e mesclá-los no branch principal, podemos realizar as seguintes etapas:
Temos que mudar para o branch main
do branch de trabalho usando o seguinte comando git checkout:
git checkout main
Merge & Squash Branch no Git
Ao executar o squash, ele pegará todos os nossos commits do branch de trabalho e fará um único squash
para todos os commits do branch de trabalho no branch principal. Se tivermos problemas, podemos resolvê-los manualmente usando o seguinte comando:
git merge --squash feature
Nota: O comando acima não fará um commit de mesclagem. Temos que fazer isso manualmente usando o seguinte comando.
Commit Mudanças para Branch no Git
Agora submeta as alterações mescladas com uma mensagem combinada.
git commit -m <"add comment here">
Se você não quiser adicionar a mensagem de commit, você pode pular a seção -m
e comentário, que não incluirá a mensagem com o commit para o branch.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn