在工作中,我们有一个CVS存储库,其提交已延伸了近15年。几年前,该存储库已转换为git并上传到公共GitHub存储库。但是,git存储库刚刚使用当前版本的文件进行初始化,没有导入历史记录(不是我所做的)。 CVS的历史很简单直线 - 我们从未使用CVS分支。它不是一个高度活跃的存储库:自创建以来,公共git存储库只有大约25次提交。只将历史记录从CVS存储库导入到已创建的git存储库中
我希望能够将CVS历史记录导入到现有的git存储库中,而无需创建新的存储库。根据我在git-cvsimport
或cvs2git
的文档中阅读的内容,这些工具总是会创建新的存储库。或者,我可以做一个新的cvs/git转换,并上传新的存储库来代替当前的存储库,并应用25个cvs后提交。这是可能的,如果是这样,推荐的方法是什么?我已经读取了&对CVS和git存储库的写入访问权限,并且在必要时可以访问CVS服务器。
我对于简单的git分支,合并和重新绑定感到相当舒服,但我不会说我是专家(我会参考Pro Git书籍)。
感谢您的回应!而不是'git branch import --orphan'我使用了'git checkout --orphan import'。在那之后,'git status'告诉我每个文件都是“新的”,所以看起来是正确的。当我尝试执行'git pull import-repo master'时,它看起来像抓取行,但合并不:我得到:'错误:条目'文件名'将被合并覆盖。无法合并.'在删除并重新克隆当前存储库并重复之后,我得到一个不同的'文件名',所以我认为这个特定文件没有什么特别之处。我需要强制合并吗? – Derek
对于孤儿的错误感到抱歉。你是否按照步骤'rm -rf * .gitignore#或任何其他文件',即I.e.清洁工作目录? –
不用担心,是的。 'git status'显示'新文件:filenameA,新文件:filenameB'等等,并且'没有为commit提交更改','删除:filenameA,删除:filenameB'等,显示'要更改提交'除了./.git文件夹以外,它是完全空的。我想知道这应该是'git rm -rf'而不是? – Derek