【发布时间】:2016-05-06 13:07:44
【问题描述】:
我正在从 cvs 迁移到 git。 (如果你愿意,可以嘲笑,但前提是你的公司已经存在 15 年。)
我有一些老式的 CVS 标记,只标记 repo 中的一些文件, 不是全部。当我查看这些标签时,它看起来就像一个仓库,其中所有未标记的内容都已被删除。这是 cvs/svn 和 git 之间分支模型的一个众所周知的区别。
我想创建一个这样的新分支:
- 从我的主分支开始,创建一个新的发布分支。
- 仅替换带有
tags/A标记的文件。 - 除此之外,仅替换带有
tags/B标记的文件。 - 然后提交全部内容。
理想情况下,新分支将包含标记文件的旧历史记录以及主分支。
有什么好办法吗?
【问题讨论】:
-
我从来没有特别需要这样做,但我会先看看
cvs2*(从 cvs2git 开始)对它们做了什么。如果所有其他方法都失败了,只需手动完成:使用 cvs2git 转换大部分存储库,然后制作一些特殊情况项目,并使用 filter-branch 和/或嫁接/替换将它们楔入。这只有在你有一个一小部分,否则您可能也需要自动化。
标签: git migration branch cvs git-merge