对于主存储库的不同提交,使用Git子模块的不同提交

对于主存储库的不同提交,使用Git子模块的不同提交,git,version-control,git-svn,Git,Version Control,Git Svn,我有一个带有外部的SVN存储库。此SVN的不同版本取决于外部版本的不同(例如:SVN主存储库的r1和r2使用其外部版本的r1,SVN主存储库的r3使用其外部版本的r2)。我使用gitsvn命令将这个SVN存储库的所有修订版克隆到Git,并且我得到了预期的不同修订版的不同提交。我还将这个主存储库的所有外部作为独立的Git存储库克隆到Git 是否有一种简单的方法可以让主存储库的每个Git提交(对应于每个SVN修订版)使用(即指向)从其Git子模块进行正确的提交,以便最终Git主存储库的不同提交指向其

我有一个带有外部的SVN存储库。此SVN的不同版本取决于外部版本的不同(例如:SVN主存储库的r1和r2使用其外部版本的r1,SVN主存储库的r3使用其外部版本的r2)。我使用
gitsvn
命令将这个SVN存储库的所有修订版克隆到Git,并且我得到了预期的不同修订版的不同提交。我还将这个主存储库的所有外部作为独立的Git存储库克隆到Git

是否有一种简单的方法可以让主存储库的每个Git提交(对应于每个SVN修订版)使用(即指向)从其Git子模块进行正确的提交,以便最终Git主存储库的不同提交指向其Git子模块的不同提交,其方式类似于主存储库的SVN中的修订及其外部如何匹配?

如果您正在谈论转换过程,我不知道。但是,在生成的Git存储库中,超级项目中的每个提交都直接存储来自另一个Git存储库的相应子模块提交的原始散列ID。因此,一旦您转换了存储库S(子模块),如果存储库R(超级项目)commit Cr需要S commit Cs,Cr中的commit表示“对于子模块S,使用commit Cs”。如果下一次提交需要不同的S提交,它会在下一次提交中这样说。