跳过 SVN 中的 SVN 提交以 Git 转换?

Skip an SVN Commit in SVN to Git Conversion?

我正在进行从 SVN 到 Git 的大规模迁移。这种迁移可以追溯到大约四年的历史。我能够成功地将提交推送到某个日期(11 月 11 日)。在这一天,有一个提交推送了一个 7GB 的文件,而在接下来的提交中,这个文件被删除了(这似乎是一个错误)。

Git 在尝试推送这个巨大的提交时抛出错误,我无法通过它。有什么办法可以简单地跳过那个提交吗?我目前的流程是签出一个特定的提交,推送它,然后重复。我这样做是为了找到我目前面临的错误。

谢谢大家的建议。

基本上,您只需 git svn fetch 直到您要跳过的错误提交之前的提交,然后从错误提交之后的提交开始获取。请记住,如果在此提交中创建或修改了其他文件,则跳过提交会导致问题,并且以后的提交取决于这些修改。

git svn fetch -r BASE:<BAD REVISION>
git svn fetch -r <BAD REVISION>:HEAD

还有a great thread on this on the main git mailing list. @me_and posted a similar solution to a similar question in this post