Git子模块未从Git svn存储库更新

Git子模块未从Git svn存储库更新,git,git-svn,git-submodules,Git,Git Svn,Git Submodules,我有一个projectx,其中包括一个git子模块 /projectx/foo/bar/submodule 子模块存储库本身就是跟踪svn存储库的git svn repo 在独立子模块repo中,我引入了一些新的更新: git svn fetch 我看到了一些修订。所以我跑: git svn rebase master 当我打电话时: git status 一切看起来都很好。因此,在projectx的根目录中,我运行: git submodule update 什么也没发生。我做错了什

我有一个projectx,其中包括一个git子模块

/projectx/foo/bar/submodule
子模块存储库本身就是跟踪svn存储库的git svn repo

在独立子模块repo中,我引入了一些新的更新:

git svn fetch
我看到了一些修订。所以我跑:

git svn rebase master
当我打电话时:

git status
一切看起来都很好。因此,在projectx的根目录中,我运行:

git submodule update
什么也没发生。我做错了什么?我肯定跑过:

git submodule add
git submodule init
在子模块上,当我运行时:

git submodule status
我看到散列的状态


那么为什么
git子模块更新
不会导致任何更新发生?

不幸的是,
git子模块更新
会导致在子模块中运行
git fetch
,而不是
git svn fetch
。最简单的解决方案是将subversion存储库的
git svn
克隆放在别处,然后将该存储库作为子模块添加。这就是这个类似问题中的建议:

假设您希望其他人使用您的存储库,那么您无论如何都会这么做,因为
.gitmodules
只能指向git存储库,而不能指向SVN存储库

当然,没有什么能阻止您在子模块目录中手动运行
git svn rebase
,然后在超级模块中添加和提交您喜欢的任何版本。但是,
.gitmodules
中的URL需要指向该存储库或其克隆。

最简单的解决方案是将subversion存储库的git svn克隆保留在其他位置,然后将该存储库作为子模块添加。-是的,我就是这么做的。。。但是你在子模块中提到git svn rebase,这让我走上了正确的道路。我只需要在子模块中git拉取originmaster。我把一切都搞砸了,我认为git子模块更新会更新本地子模块,并导致一次获取/合并。谢谢