如何避免git子模块提交id被提交?

时间:2016-01-19 09:26:30

标签: git version-control

我有一个包含两个子模块B和C的git存储库。这个存储库已经下载到三台不同的机器M1,M2和M3上。

现在我需要子模块B和C在不同的机器上保留较旧的提交。我需要他们最近承诺M1,B在较旧的上,C在最新的M2上,B在最新上,C在较旧的M2上。 (请问为什么,请...)

如果我执行提交并推送M1,则提交会记住repo A,AND子模块B和C的提交ID,这很好。

如果我在M2上进行提交,则提交会执行相同的操作,但这对于在较早的提交中设置B而言并不好。对于C,M3也是如此。

可以在M3和M2上提交而无需记忆在旧提交中设置的repo的提交ID吗? (B和C的内容尚未被发现)

问题是我需要从所有三台机器提交以传递对repo A(以及从M2和M3提交对B或C的更改)的更改,但是如果我从M3提交,例如,它带有子模块C的提交ID和较旧的提交,结果是,当我拉到M1子模块C时,它被卡在M3的较旧提交上并执行拉动停止到较旧的提交而不是最新提交。 / p>

注意:到目前为止,我找到的唯一解决方案是git添加到M3的提交任何我单独更改的文件,所以要从提交中排除子模块,但这不是很方便......

0 个答案:

没有答案