2013-10-08 2 views
2

J'ai créé une branche et commis un changeset en tant qu'enfant d'un enfant de ma branche principale. En fait, je voulais mettre les changements à l'écart et créer une nouvelle succursale à partir de ma succursale principale. Comment puis-je revenir et/ou faire de la succursale un enfant direct de ma branche principale? J'ai une intuition que j'ai besoin de revert ou faire un subtractive merge.Dans PlasticSCM, comment réparer une branche?

Répondre

3

Pour PlasticSCM, l'idée serait semblable à ce qui est décrit ci-dessous pour Git:

  • ayant une branche faisant référence à un courant de votre engagement
  • réinitialiser la branche au dernier commit correspond
  • utiliser la switchbranchbase command mention for PlasticSCM4 ou la mention de fusion simple dans this thread.

    • Dans PlasticSCM 3.0 pour effectuer un rebasage les étapes ont été: Modifier la base de la branche, mise à jour, fusion.
    • Dans PlasticSCM 4.0 est plus facile, il suffit d'effectuer la fusion de la branche que vous souhaitez rebaser.

réponse originale en git:

Si vous avez:

x--x--x--x     main 
      \ 
      y--y--y   child 
        \ 
        z--z mybranch 

Vous pouvez faire:

git rebase --onto main child mybranch 

Cela vous donne:

  z'--z'   mybranch 
     /
x--x--x--x     main 
      \ 
      y--y--y   child 

Si vous ne voulez pas rebasage tous de ma branche, puis un simple:

git checkout mybranch 
git branch -b mynewbranch 
git reset --hard z   # reset mybranch HEAD to the last commit before your new commit 
git rebase --onto main mybranch mynewbranch 

Pour un commit, vous pouvez également utiliser git cherry-pick, mais je préfère toujours git rebase.

+0

Gosh, c'est une excellente réponse et je m'excuse de ne pas avoir précisé que j'avais besoin d'une réponse spécifique à PlasticSCM. Juste mis à jour le titre pour refléter cela. Peu importe, j'apprécie toujours l'excellente explication (j'utilise Git un tas). –

+1

@MicahDelaneBolen comme dans http://www.plasticscm.net/index.php?/topic/671-plastic-scm-4-rebase/? – VonC

+0

... oui. Je suppose que je devrais accepter votre réponse puisque le «rebase» est l'ingrédient clé dans l'un ou l'autre scénario. Encore une fois, mes excuses. –

Questions connexes