【发布时间】:2020-12-08 00:28:38
【问题描述】:
我有 2 个 ADO 存储库 - Repo1 和 Repo2
Repo1 设置为 Repo2 中的子模块
[submodule "Repo1"]
path = Repo1
url = https://xyz.visualstudio.com/DefaultCollection/abc/_git/Repo1
假设我在 Repo1 中进行了更改,并将新的提交添加到“测试”分支(NOT“主”分支)。
我需要在 Repo2 的子模块中获得该提交。
当我尝试时:
git clone <url-of-Repo2>
cd Repo1
git submodule update --init --recursive
我只看到“master”分支的最新提交,而不是“test”分支。如何从“测试”分支获取最新提交到子模块?
【问题讨论】:
-
超级项目告诉子模块通过原始哈希 ID 检查提交。 分行名称不要进入这张图片。另请参阅我最近对this question 的回复。不完全相同,但应该可以帮助您思考问题。
-
谢谢!我知道超级项目告诉子模块通过原始哈希 ID 检查提交。我的问题是如何从子模块中的测试分支获取最新的提交原始哈希 ID?
-
啊,那么就像jthill said:进入子模块并签出/切换到所需的提交(
git -C path/to/submodule checkout ...),然后将子模块添加回超级项目中(以获得正确的提交哈希使用git add path/to/submodule将 ID 放入 GIt 的索引中),然后在超级项目中进行新的提交。他的回答中的git commit -am ...只是添加和提交合二为一。
标签: git azure-devops git-submodules