我使用以下命令将CVS存储库转换为Git存储库:
$ git cvsimport -vaikd :pserver:thillaiselvan@192.168.1.11:2401/ -C IVR-GUI GIT
然而,Git会忽略CVS存储库中的空目录。但我希望克隆存储库时包括这些空目录。我该如何让Git做到这一点?
.gitkeep
(按照惯例使用.gitkeep
,但可以将此文件命名为任何您想要的名称)。 跟踪这些文件,然后就可以克隆空目录了。 有几种其他方法可以将空目录添加到Git存储库中。$ find ~/cvs_repo -type d -empty -exec cp -r {} ~/git_repo/ \;
您可以选择喜欢的方法将这些空目录添加到项目中,并使用类似于 $git commit -m "Add empty directories to repository"
的命令进行跟踪。
cvsimport
自动化该过程?我认为cvsimport
应该可以弥补版本控制系统之间(CVS可以跟踪空目录,而Git不行)的这种差异。我不了解这个工具,但是也许有一个选项可以传递给它,以便自动处理添加空目录。
find
命令找到所有空目录,并手动将它们复制到你的新Git存储库中(然后使用你选择的hack添加这些目录)。在cvs-Git转换期间,我的猜测是那些空目录丢失了。你需要手动弥补Git和cvs之间的这种差异。 - David Cain