如何解决当超级项目位于分离头中时更新git子模块
我正在尝试以编程方式使用带有子模块的Git存储库。
请澄清一下,这不是一个简单的克隆,我正在使用递归模式进行完整的克隆。
主项目始终在分离的头部中检出,具体取决于在运行时使用git递归克隆提供给用户SHA的用户。
问题在于子模块由于某种原因未更新。例如,在子模块文件夹中的df[df['Brand'] == i]
中,我确实看到了来自超级项目的提交,但是文件尚未更新。
这是我使用的命令
df[df['Brand'] == i].groupby('State')['Price'].sum()
我也尝试了默认的git log
选项,但是没有用。任何想法如何保证将子模块更新到提交SHA超级项目都指向它,并确保文件已更新。也许我缺少明显的东西。
但是,如果我在服务器上打开更改的文件,则该文件尚未更新以反映此提交中的更改。
解决方法
不幸的是,这对我来说是一个愚蠢的错误。当从另一个文件夹中以编程方式执行子模块更新命令时,我使用的是-C <path>
选项,而不是使用--git-dir <path>
选项。因此,子模块从未更新,也没有任何错误。
毕竟与子模块无关
命令错误
git --git-dir <PATH-TO-REPO-FOLDER>.git submodule update --init --recursive --force
更正的命令
git -C <PATH-TO-REPO-FOLDER> submodule update --init --recursive --force
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。