我不小心跑了`cvs add .git`,这是做什么用的?我怎么恢复?

时间:2013-09-21 00:42:49

标签: git cvs

我有一个带.git文件夹的cvs repo。我跑了find . -type d \! -name CVS -exec cvs add '{}' \;。由于我的cvsignore中有.git,我认为它不会添加.git文件夹。我还没有承诺(cvs)。这个行动有什么后果?如何撤消cvs add

Fwiw,我必须将这个项目提交给cvs和git工作。我意识到这听起来像是一个非常愚蠢的程序,但这是要求。

1 个答案:

答案 0 :(得分:1)

您在目录上执行了cvs add。即使您还没有完成cvs commit,这些目录现在永久存在于存储库中,因为CVS会立即创建它们。文件行为不同 - 它们只会在提交时添加到存储库中。

CVS本身在添加目录后不提供删除目录的任何功能。除非您在git目录中添加和提交文件,否则不会对您的存储库产生进一步的负面影响。

可能会有混淆/烦恼,因为您将始终将.git目录的内容显示为“新”文件(除非您执行update -P - 从工作副本中删除空目录)。从CVS检出模块的任何人都会得到空的.git目录,可能会被他们搞糊涂。

如果其中任何一个听起来像是一个问题,以下问题有一些解决方法:

Remove empty directory from CVS?