J'ai un contrôle git-svn de tout mon repo (initialisé dans la mode standard git svn init -t tags -b branches -T trunk $repo_url
, puis git svn fetch
ed). J'ai manuellement svn copy $repo_url/branches/branch1 $repo_url/branches/branch2
. J'ai alors couru git svn fetch
, git checkout -b local-branch2 branch2
, fait quelques commits à branch2
, dcommit
les ai édités de nouveau au dépôt SVN, et suis fait avec mon travail sur branch2
. (Pourquoi branchez une branche? Je voulais pirater cette branche localement en git, mais je m'engage toujours à SVN et je reçois de l'aide de quelques collègues pendant que je travaillais dessus).git-svn: comment copier les commit git d'une branche SVN à une autre?
Ce que je n'ai pas fait est de fusionner le travail branch2
en branch1
. Si je git checkout -b local-branch1 branch1
, puis git merge branch2
, il simplement avance mon pointeur local-branch1
à où branch2
est.
Au lieu de cela, je veux que git rejoue tous les commits faits depuis le début branch2
sur branch1, de sorte que je puisse les commettre chacun sur le repo SVN. Il semble qu'il y ait un moyen de le faire, mais je ne peux pas y penser. Peut-être git rebase
, ou un git cherry-pick
de chaque validation faite sur branch2
? (bien que ce dernier est un peu fastidieux). Je préfère ne pas svn fusionner les deux URL ensemble, car c'est un gros seau de mal.
Des idées? Toutes les parties de ce besoin de plus d'explications?
* "Pourquoi créer une branche?" * Parce que git. Oui. – naught101