本文章包含了git代码迁移至新仓库、git submodule
业务需求:将别人代码中的某部分的功能嵌入本项目中,经讨论如果直接拷贝所需功能代码到本项目,后续无法保证双方功能一致。结果:我们重新建一个新的仓库和他们的代码保持一致,在新的仓库中将需要的代码submodule化,之后再将submodule模块引入到我们所需的项目中。
我也没有接触过,按网上大神给出的案例实践出的报错信息和结果总结一份。
先说一下我遇到的错误
我在参考https://www.jianshu.com/p/aae191c821e6这篇文章的时候,执行第四步的时候报错信息如下:
:$ git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter app/order-embed -- --all
报错1:Found nothing to rewrite
$ git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter app/order-embed -- --all
报错2:You need to run this command from the toplevel of the working tree.
$ git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter src/app/order-embed -- --all
报错3:Rewrite b61a6fc4235566c6bd9caf0639b2de4ea9ea3ea8 (1/241) (2 seconds passed, remaining 480 predicted) 816b8f375cb654d501d0c7ed7cd3b6b273a56364
fatal: failed to unpack tree object b61a6fc4235566c6bd9caf0639b2de