Mover as modificações feitas no desenvolver do ramo em um novo git-fluxo ramo de funcionalidade?

StackOverflow https://stackoverflow.com//questions/10704922

  •  13-12-2019
  •  | 
  •  

Pergunta

Eu estou usando o git-fluxo para os meus projetos, e ter iniciado um pouco complicado conjunto de alterações no desenvolver do ramo, que parecem levar mais tempo do que eu esperava que o primeiro.

Eu gostaria de ter feito isso em um ramo de funcionalidade, desde que eu gostaria de fazer uma nova versão com outras alterações.Como posso mover estas alterações não confirmadas em um novo git-fluxo ramo de funcionalidade?

Foi útil?

Solução

Se você já fez nenhuma compromete-se

Se você simplesmente tem um sujo cópia de trabalho, basta agir como você está prestes a iniciar uma nova funcionalidade:

git flow feature start awesomeness
git commit -va

Se você fiz fazer algumas compromete-se

Se há compromete-se em desenvolver o que deveria ter sido no seu ramo de funcionalidade, os passos acima são os mesmos.Além de que você vai (possivelmente, isso não é necessário) deseja redefinir sua desenvolver ramo de volta para onde estava antes de você começar a confirmar as alterações para o seu ramo de funcionalidade, o que você pode fazer com:

git flow feature start awesomeness
git commit -va
git checkout develop
git reset origin/develop --hard

Outras dicas

Aqui está uma maneira de fazê-lo:

git checkout where-you-should-have-made-your-feature-branch
git branch feature-branch
git checkout feature-branch
foreach commit in commits-that-should-have-been-on-your-feature-branch:
    # do this for each commit in chronological order
    git cherry-pick commit

Agora depende se você já empurrou seu ramo para desenvolver um repositório público ou não.Se tudo ainda é privado, e você quer reescrever a história:

git checkout develop-branch
foreach commit in commits-that-should-have-been-on-your-feature-branch:
    # do this for each commit in reverse chronological order
    git rebase --onto commit~1 commit develop-branch

Se você não quer reescrever a história:

git checkout develop-branch
foreach commit in commits-that-should-have-been-on-your-feature-branch:
    # do this for each commit in reverse chronological order
    git revert commit

E que deve fazê-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top