Я пытаюсь импортировать репозиторий CVS в git. К сожалению, мы использовали действительно старый метод создания релизов из нашего репозитория CVS, который не включает никаких реальных ветвей CVS или тегов, но сохраняйте эту информацию в отдельной системе. Следовательно, почти вся разработка происходит на стволе CVS. Таким образом, один файл может быть добавлен очень рано в истории, но не станет частью выпуска в течение 6 месяцев.
Я бы хотел импортировать этот CVS-репозиторий в git и использовать rebasing для перемещения этих коммитов в ветки разработки. У меня есть несколько ветвей из CVS, хотя я действительно хочу переместить все ветки.
Скажем, у меня есть это:
F---G---H topic
/
A---B---C---D---E---I---J master
B
- это фиксация, которую я хочу переместить в свою ветвь. Я хочу, чтобы результат выглядел так:
F`---G`---H` topic
/
A---C`---D`---E`---I`---J` master
\
B some_unfinished_feature
Но только переполнение master
приводит к:
git checkout -b some_unfinished_feature B
git rebase --onto A B master
A---C`---D`---E`---I`---J` master
\
\ F---G---H topic
\ /
B---C---D---E
\-some_unfinished_feature
Могу ли я получить git для rebase topic
на E'
в одной команде rebase? Я могу потенциально иметь множество ветвей, которые я хочу переместить на их новую новую фиксацию. Или есть способ, которым я могу получить сопоставление между E
и E'
?