我正在尝试Git Extensions中的基本子模块功能。我有一个名为“sub”的存储库和一个名为“super”的存储库; sub是super的子模块。
当我在Git Extensions中打开超级存储库时,我可以查看它的历史记录并像往常一样在其中执行常规操作。我想使用子模块库。我如何使用Git Extensions做到这一点?
在Submodules菜单下,我找到了有希望的“浏览子模块”菜单,其中包含“sub”条目。但是当我点击sub时,Git Extensions只刷新超级项目存储库。它不会切换到子模块库。
基本上我想做的是让Git Extensions向我展示子模块库,让我做一下提交,分支,推/拉等等。我该怎么做?
答案 0 :(得分:2)
我在Git Extensions邮件列表上问了这个问题。事实证明这是由最新版本的msysgit引起的Git Extensions中的一个新bug。它应该在未来版本的Git Extensions中修复(修复已经合并到GitHub上的主要Git Extensions存储库中)。
答案 1 :(得分:2)
当前版本的Git Extensions(2.43)在其工具栏上有地址行。因此,您可以在此行的帮助下更改当前存储库。
但是,在该行附近有一个带蓝色符号的按钮。这个按钮完全符合您的要求。只需单击此按钮并选择要浏览的所需子模块。
如果您当前的存储库有一个超级存储库,它也将显示在该列表中。 因此,这是非常有用的功能,允许您在子模块的存储库之间进行更改。
答案 2 :(得分:0)
不确定git扩展部分,但您需要将目录更改为子模块目录(它是一个独立的存储库!),然后才能提交这些更改。
但是,您需要首先创建一个分支来保存提交,因为子模块repo处于“分离头”状态 - 即它处于特定提交,而不是分支的头部。如果不这样做,那么下一个子模块更新不仅会覆盖您的更改,而且您将无法轻松找到您可能希望合并到其中的先前更改。