Git子模块在我不知道的情况下提交..?

时间:2018-11-17 14:52:37

标签: git github git-submodules pull-request

一些个人背景:我以前使用过git子模块,但是老实说我不是一个狂热者,并且完全接受这也许是我对它们工作方式细微差别的无知。当我以前将它们用于共享库时,我在子模块中使用git pull提取了更新,然后在父模块中显示为modified … (new commits)。我明白了-我已经更改了.git元数据中的提交指针,或类似的内容,并且需要在父仓库中进行commitpush的更改,以便将其关联带有正确的子模块提交。

我的问题:我现在从事一项新工作,并且我从事的项目有一个子模块。它不是共享库-出于安全原因,构建过程依赖于某些凭据,这些凭据每天都会更新并通过子模块分发。因此,git submodule update --remote每天都会进行提取更新的过程。

两个奇怪之处:(1)子模块永久处于分离头状态; (2)父级的status保持干净,表明对子模块没有任何更改。

那为什么会有问题呢?问题是,我的拉取请求与子模块一起显示在“更改的文件”列表中。我不认为这实际上会导致问题,但是一位同行审阅者特别反对这些更改,因为这些更改不应该存在。由于子模块永远不会显示为git status输出中的修改内容,因此我不知道如何提交任何更改,以及如何停止此更改。

(这是GitHub中的私有存储库-我有一个fork,并且正在我的fork的一个分支中工作。子模块仍指向其存储库的未分叉主服务器。)

(显然,这在其他一些开发人员的PR中也很明显,但在每个PR中并非如此。)

我是这家公司的新手,可以做的事不会被描绘成无法正确控制版本的人!但是我需要一个比我更有智慧的人来告诉我这是怎么回事。

(个人而言,我的解决方案是不使用子模块,否则这可能不在我的控制范围之内。)

0 个答案:

没有答案