创建引用其他存储库中特定提交的Git子模块

创建引用其他存储库中特定提交的Git子模块,git,version-control,git-submodules,Git,Version Control,Git Submodules,我需要在Git存储库中创建一个子模块,该子模块引用另一个处于不断开发中的Repo,但我需要引用另一个Repo中的特定提交。我使用以下方法创建子模块: git submodule add url otherRepo 但我不知道如何引用otherRepo子模块中的特定提交。有人知道我怎么做吗? 一旦在克隆repositoty时完成此操作,我希望子模块的状态保持在先前指定的提交状态。 感谢根据,子模块通过您在子模块repo中签出的特定提交进行跟踪。所以,只需在子模块目录中提交您想要的git chec

我需要在Git存储库中创建一个子模块,该子模块引用另一个处于不断开发中的Repo,但我需要引用另一个Repo中的特定提交。我使用以下方法创建子模块:

git submodule add url otherRepo
但我不知道如何引用otherRepo子模块中的特定提交。有人知道我怎么做吗? 一旦在克隆repositoty时完成此操作,我希望子模块的状态保持在先前指定的提交状态。 感谢

根据,子模块通过您在子模块repo中签出的特定提交进行跟踪。所以,只需在子模块目录中提交您想要的git checkout,它就可以按预期工作

签出后的Git diff似乎证实了这一点,结果如下:

-Subproject commit 9fc330b3280fa7ec443f1b32e2943d38ba018f73
+Subproject commit 8b958758994216f2e7ee5ffbf5d2a3fc483e1ad5

谢谢@wikii122,我已经像你说的那样做了,但是当我克隆repo时,子模块得到的是最后一次存在的提交,而不是指定的提交。为什么会这样?@yosoy你退房后是否进行了主要回购?这个信息是在版本控制下保存的,所以您可以在不同的分支上有不同的提交,但是如果我没记错的话,您必须添加带有子模块的目录并提交它,以便跟踪它<代码>git提交-一个应该做这件事。