SVN copie de travail à différents fusion de la Direction Sans engager à travailler Direction copie

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

  •  04-10-2019
  •  | 
  •  

Question

Si une copie de travail (copie locale) a été créée à partir d'une branche, permet de l'appeler A. codage a été fait dans la branche A, mais la branche A était « fermé » à commits, et la branche b a été ouverte. Comment puis-je fusionner mes modifications de la copie de travail dans la branche B et engage à la branche B, sans commiting mes changements sur la branche A première.

Tronc -.> Branche A

   I checked out branch A and made changes.
   Branch A was closed to commits.

nouvelle succursale créée à partir de la branche A. branche A -.> branche B

   I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A)
Était-ce utile?

La solution

  1. sauvegarde de votre copie de travail.
  2. svn switch à la branche B
  3. changements d'examen (révision de base peut varier, et svn ne aveugle, muet se confond textuelles seulement), résoudre les conflits, le cas échéant
  4. commit

Faire des choses comme celle-ci avec une copie de travail avec des modifications non validées est périlleuse. En cas de problème ou s'il y a trop de changements de conflit, rollback à votre version sauvegardée, créez une branche temporaire de votre révision de base de copie de travail de A, passer à cela, et livrez vos changements, ils sont donc dans un endroit sûr. Puis fusionner cette branche en B la façon que vous voulez et supprimer par la suite.

Rappelez-vous le mantra svn: engager très tôt, souvent commettre . Si j'ai des changements non engagés traîner pendant plus d'une journée de travail, je deviens nerveux. En général, je crée une branche de fonctionnalité pour tout développement durable plus de quelques heures. et engager régulièrement à cela. Quand je suis fait, je fusionner en où il vient et le supprimer par la suite.

Autres conseils

Pour être très prudent, je commets mes modifications apportées à un autocommutateur privé (Appelons-C), puis fusionner la branche C à la nouvelle branche ouverte pour commits-B.

  1. cd au répertoire de travail avec les changements que vous souhaitez engager
  2. svn copy . C
  3. cd .. dans votre dossier de travail avec des checkouts
  4. svn co B
  5. cd dans le répertoire B
  6. svn merge la révision de l'étape 2.
  7. Revue change.
  8. Engagez!
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top