6

我使用以下命令将 CVS 存储库转换为 Git 存储库:

$ git cvsimport -vaikd :pserver:thillaiselvan@192.168.1.11:2401/ -C IVR-GUI GIT

但是,Git 会忽略 CVS 存储库中的空目录。但我希望克隆存储库,包括那些空存储库。我怎样才能让 Git 做到这一点?

4

1 回答 1

5

Git 无法跟踪空目录,因此它们不会在 CVS-Git 转换中被引入。来自Git FAQ:“在目录中添加文件时会自动添加目录。” 您的目录不会出现,因为 Git 没有跟踪其中的任何内容。

如何在 Git 中跟踪空存储库

跟踪空目录的一种解决方法是放置一个空文件,就像.gitkeep在每个空目录中一样(.gitkeep按惯例使用,但您可以随意命名该文件)。跟踪文件,然后您将能够克隆空目录。还有其他几种方法可以将空目录添加到 Git 存储库

从预先存在的 CVS 存储库中手动复制空文件

以下命令会将 cvs 存储库中的所有空目录复制到 Git 存储库(替换虚拟目录路径)

$ find ~/cvs_repo -type d -empty -exec cp -r {} ~/git_repo/ \;

然后,您可以使用您选择的解决方法将这些空目录添加到您的项目中,并跟进类似$git commit -m "Add empty directories to repository".

使用cvsimport?

现在,我假设这cvsimport将弥补 VCS 中的这种差异(CVS 允许您跟踪空目录,Git 没有)。我对该工具一无所知,但也许您可以通过一个选项让它自动处理添加空目录。

于 2012-08-10T03:51:54.923 回答