在构建时用新版本替换git子模块中的特定文件

时间:2018-10-27 21:15:32

标签: git git-submodules

我在自己的项目中使用开放源代码回购作为git子模块。

每次构建整个项目时,都必须用自己的实现替换子模块中的特定文件。我如何做到这一点而无需派生开源仓库? (开源项目正在繁重的开发过程中,添加自己的逻辑会遇到很多冲突)

谢谢!

3 个答案:

答案 0 :(得分:0)

没有足够的信息可以提供具体的建议,但是我想看看是否有办法通过扩展/覆盖基础存储库中的文件而不是替换文件来找到解决方案,例如我看不到任何地方领先。

答案 1 :(得分:0)

Git没有提供一种让您本机执行此操作的方法。特定修订版本的子模块的版本是固定的,无法在不维护自己的fork的情况下以所需的方式替换子模块中的文件。

但是,您可以通过更改构建的运行方式轻松地做到这一点。在构建过程中,您可以将所有源文件从一个目录复制到另一个目录,然后替换或修补文件,然后使用第二个目录作为源文件执行构建。

答案 2 :(得分:0)

您的问题可能需要更多信息。如果我正确理解,有多种方法可以解决您的问题-

  1. 使用构建脚本覆盖子模块中的文件,然后调用实际的工具链进行构建。

  2. 看看git post clone钩子。