我正在将一个大的SVN存储库转换为多个git存储库(每个项目一个)。
我正在为每个包含所有不需要的目录--exclude
的repo运行svn2git这样可以保留标记和分支(我在转换后删除所有不相关的标记和分支)
唯一的问题是我有大量空提交(与排除目录相关的提交)。
有没有办法在svn2git进程中排除这些空提交?
This solution是在事实之后移除它们的好方法,但filter-branch
仅影响当前分支,而不影响所有其他分支和标记。
答案 0 :(得分:8)
完成了工作。
据我所知,此命令将重写历史记录,删除空白提交,但保留其他所有内容。
git filter-branch --tag-name-filter cat --prune-empty -- --all
您可以使用此命令查询作为快速测试之前和之后的提交数量:
git log --pretty=format:'' | wc -l