Como mover mudanças para outro branch no Git


0

Enquanto o Git monitora suas mudanças do dia a dia, ele também possui sistemas como branches que ajudam você a se organizar. Se você não for cuidadoso, pode acabar com problemas como commits e mudanças feitas no branch errado, que podem ser difíceis de resolver sem os comandos certos.

Mudanças em movimento (se você ainda não se comprometeu)

Git zela por toda a sua pasta, mas as mudanças feitas nos arquivos não estão vinculadas a um branch específico até que você as envie. Você pode mover ramos e trazer essas mudanças com você.

A opção mais simples é simplesmente trocar de branches, mas isso só funcionará se os dois branches que você está almejando tem um histórico de correspondência:

git checkout feature

Você pode contornar isso de algumas maneiras. A primeira é fazer uma nova ramificação e, em seguida, mesclar os históricos divergentes:

git checkout -b tempfeature

git checkout feature

git merge tempfeature

Você também pode usar git stash para armazenar as alterações para mais tarde e reaplicá-las em uma nova filial:

git stash
git switch feature
git stash apply

Movendo compromissos (se você já se comprometeu)

Se você já se comprometeu, não se preocupe – você sempre pode fazer um soft reset, então os commits não são finais até que sejam enviados ao controle remoto da fonte. Se você já fez isso, ainda pode corrigir o problema, mas o registro do seu erro permanecerá em seu histórico do Git, então é melhor fazer localmente antes que seus colegas de trabalho vejam.

Propaganda

Para desfazer os commits, você pode simplesmente fazer um soft reset, geralmente desfazendo o último commit feito, mas você também pode passar uma referência ao ID do commit:

git reset HEAD~1

Isso o deixará no estado “ainda não se comprometeu”, após o qual você pode usar os métodos acima para corrigir o problema.

Alternativamente, você pode usar git cherry-pick. Este comando copia commits de um branch para outro, e é uma boa maneira de selecionar commits e movê-los para novos branches de uma maneira limpa.

Corre git log para encontrar o ID do commit que você deseja reverter:

git log

Em seguida, verifique o branch de recursos, assumindo que suas alterações foram confirmadas e execute cherry-pick:

git switch feature

git cherry-pick
Propaganda

Depois disso, ainda haverá um commit duplicado no branch principal. Você pode redefinir isso e descartar as alterações se o branch do recurso estiver na ordem adequada ou mantê-lo e deixar o Git resolver o problema assim que você fundir.


Like it? Share with your friends!

0

0 Comments

Your email address will not be published. Required fields are marked *