是否有将.cvsignore文件转换为.gitignore文件的规定?

use*_*525 9 git cvs ignore cvs2git

我正在使用cvs2svn-2.4.0进行CVS到Git的迁移.这不包括.cvsignore到.gitignore转换.我怎么能把.cvsignore文件转换成.gitignore文件?

oli*_*ver 7

这是一个Bash脚本,它将查看目录树中的.cvsignore文件,并将它们的模式添加到顶级.gitignore文件中.它期望.cvsignore文件每行只包含一个模式(显然.cvsignore文件允许在一行中有多个模式):

for f in `find . -name .cvsignore | sort `; do
    dir=`dirname $f | sed -r 's:^\.::'`
    cat $f | awk '{print "'$dir'/"$1}' >> .gitignore
done
Run Code Online (Sandbox Code Playgroud)

此外,您必须从http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs_18.html#SEC191添加默认的CVS忽略模式.

  • 改进了你的好脚本:https://gist.github.com/xkr47/8bc17d69f5b8733250c0 (3认同)

Mur*_*nik 3

您不能只是复制.cvsignore.gitignore- 格式不相同(除非它是顶级目录中的简单文件列表。

例如,查看Eclipse 的迁移到 Git 的指南

.cvsignore 和 .gitignore 之间的语义存在细微差别,因此在迁移到 Git 时不应仅重命名这些文件。至少在 .gitignore 中的每一行前面添加一个“/”,以确保模式在所有子文件夹中都不匹配。

好的做法是直接在 Git 存储库的顶级文件夹中创建 .gitignore 并添加 / /bin/ 或 / /*/bin/ (取决于存储库布局)。然后,您可以从项目级忽略文件中删除 bin 条目(如果这是唯一的条目,也可以删除忽略文件)。