【发布时间】:2013-05-06 20:54:09
【问题描述】:
我正在使用 git version 1.8.1.msysgit.1 运行 Windows
我有两个单独的存储库(例如 1 和 2,均由我维护),并且存储库 2 作为子模块(作为副本)添加到存储库 1。然后我更改子模块中的某些内容并推送到远程。如果我在远程检查子模块(repo 2)的版本作为单独的 repo,我会得到最新的哈希。但是,如果在远程检查子模块的版本,它仍然是旧的哈希。我不能自动化吗? (远程我是github)
【问题讨论】:
-
如果您推送到远程存储库,另一个应该拉取更改。
-
我无法远程获取父 repo 以显示新版本号。我将子模块(从任一位置,作为子模块或独立模块)推送到遥控器。它的 repo 使用新的哈希数更新。父仓库仍然显示
a.submodule@oldhash。如果我尝试从远程拉出父仓库,它会说一切都是最新的。如果需要,我可以制作图表以进行说明。 -
父仓库中的一切都是最新的。父 repo 只跟踪子模块所在的版本。如果您在父级中执行
git status,您应该会看到子模块说有“新提交”。您必须git add submodulename告诉父 repo 更新其对子模块当前提交的引用,然后commit它。正如您必须在您的仓库中更改add和commit一样,您必须执行相同的操作来跟踪子模块中的更改。 -
好的,谢谢。我让它像这样工作。仍然对子模块很困惑。父模块和子模块之间只有一个小链接,好像是.gitmodules文件。
标签: git git-submodules