Git 当转到子模块中的过去提交时查找父模块提交,并且未创建父模块中的分支

Git 当转到子模块中的过去提交时查找父模块提交,并且未创建父模块中的分支,git,Git,如果您在3模块存储库的回购层次结构中工作。这是主要的回购协议和2个层次的子模块 MainRepo Submodule1 Submodule2 您在子模块1中创建的分支中工作得很愉快,我们将其称为sbm1Branch,团队正在MainRepo中更新项目。突然,您意识到您没有在父回购中创建分支,所以您确实拉入了主回购,并从那里创建了分支(因为您抓住机会合并了您的开发团队分支,以进行更新并解决冲突)。 然后,您意识到需要返回一些提交,以检查特定提交项目状态中的某些内容。 ?您

如果您在3模块存储库的回购层次结构中工作。这是主要的回购协议和2个层次的子模块

MainRepo
    Submodule1
        Submodule2
您在子模块1中创建的分支中工作得很愉快,我们将其称为
sbm1Branch
,团队正在MainRepo中更新项目。突然,您意识到您没有在父回购中创建分支,所以您确实拉入了主回购,并从那里创建了分支(因为您抓住机会合并了您的开发团队分支,以进行更新并解决冲突)。 然后,您意识到需要返回一些提交,以检查特定提交项目状态中的某些内容。 ?您如何知道您应该在提交您的分支sbm1Branch时提交的父MainRepo提交?您需要临时返回到哪个分支?? (这可能是解决编译错误所必需的,因为在MainRepo中,您现在已更新,在推送提交时,您所处的sbm1Branch的“并行”提交之前有很多提交,但父repo中带有父分支的分支尚未进行)

如果不可能,那么最好的做法是让相应的分支始终更新指向父模块的指针,因为如果不这样做,甚至可以返回子模块分支中的一些提交,您可能无法为您可能要返回的特定提交检索整个项目的状态,因为您不知道父模块的等效提交

希望我能让别人明白我的意思。谢谢

编辑:有一种变通方法。如果您的团队工作的分支以前进行过合并,我们将其称为
develope
,这就是我的情况,您可以检查上次将
develope
合并到您的工作分支
sbm1Branch
中的提交。在那里,您应该已经从父repo中提取并更新了所有repo中的整个项目状态,因此回到提交中,您应该会很好。现在的问题是,是否有一种更复杂的方法来为这个特定场景找到这个提交