从窑迁移到github,git在历史中有.git文件夹时出错



我们的源代码是通过SVN,然后是Mercurial,现在是git。当我们在窑中从Mercurial转换为Git时,我们没有遇到任何问题。然而,现在我们正在转移到github,我们得到了这些错误:

remote: error: object f2371b54e17a355e23e06649d17b19e7e96130ab:contains '.git'

这是因为在我们的历史中,我们的源代码树中确实有一些git项目。所以现在我试着用来修剪它们

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch .git' --prune-empty --tag-name-filter cat -- --all

我已经阅读了几个关于这方面的问题/常见问题解答,但我想知道是否是因为我们试图删除git文件夹,如果这就是问题所在。我很想得到一些反馈。

我想知道是不是因为我们试图删除一个git文件夹,如果这是的问题

不,删除这些文件夹(如您所见,使用BFG)是解决方案,而不是问题。

尝试将内部有.git的repo推送到GitHub repo可能会触发该错误消息,因为这意味着你正在推送父repo中版本错误的嵌套repo。

最新更新