J'ai utilisé git-svn
pour créer un miroir git d'un référentiel SVN. La structure à l'intérieur du SVN était un peu hors normes, donc git a créé une branche qui n'a pas de commit commun avec la branche master
.git - définition d'un parent de validation sans rebase
A---B---C topic
D---E---F---G master
Je sais que commettras A
est basé sur commettras E
et je suis positif que j'ai corrigé les problèmes causant git de ne pas reconnaître ce fait (en utilisant filter-branch
). Ce que je veux faire est ré-attacher topic
à la branche master
, la mise en E
comme parent A
:
A---B---C topic
/
D---E---F---G master
git-rebase
ne semble pas fonctionner pour moi parce que la diff pour commettre A
listes la création d'un beaucoup de fichiers qui existent déjà dans master
, ce qui entraîne un grand nombre de conflits.
De ma compréhension de git juste le réglage E
comme parent de A
devrait être suffisant pour résoudre tous les problèmes.
Est-ce possible? Si c'est le cas, comment puis-je le faire?
Une chance de ré-initier le miroir git du svn pointant "branches" vers le bon répertoire? Ou fixer la structure svn en premier? – stefanw
effectivement le repo a utilisé la disposition standard trunk/tags/branches. Cependant la branche que j'essayais de réparer a été créée en copiant seulement un sous-chemin de tronc - devinez qui était un peu trop pour que git-svn manipule. –
rebase a une option 'root'. Utilisez cela avec 'on' et' preserve-merges' si vous en avez besoin. –