如何在Git Extensions中浏览子模块?

时间:2011-11-04 19:40:30

标签: git msysgit git-extensions

我正在尝试Git Extensions中的基本子模块功能。我有一个名为“sub”的存储库和一个名为“super”的存储库; sub是super的子模块。

当我在Git Extensions中打开超级存储库时,我可以查看它的历史记录并像往常一样在其中执行常规操作。我想使用子模块库。我如何使用Git Extensions做到这一点?

在Submodules菜单下,我找到了有希望的“浏览子模块”菜单,其中包含“sub”条目。但是当我点击sub时,Git Extensions只刷新超级项目存储库。它不会切换到子模块库。

基本上我想做的是让Git Extensions向我展示子模块库,让我做一下提交,分支,推/拉等等。我该怎么做?

3 个答案:

答案 0 :(得分:2)

我在Git Extensions邮件列表上问了这个问题。事实证明这是由最新版本的msysgit引起的Git Extensions中的一个新bug。它应该在未来版本的Git Extensions中修复(修复已经合并到GitHub上的主要Git Extensions存储库中)。

答案 1 :(得分:2)

当前版本的Git Extensions(2.43)在其工具栏上有地址行。因此,您可以在此行的帮助下更改当前存储库。

但是,在该行附近有一个带蓝色符号的按钮。这个按钮完全符合您的要求。只需单击此按钮并选择要浏览的所需子模块。

如果您当前的存储库有一个超级存储库,它也将显示在该列表中。 因此,这是非常有用的功能,允许您在子模块的存储库之间进行更改。

答案 2 :(得分:0)

不确定git扩展部分,但您需要将目录更改为子模块目录(它是一个独立的存储库!),然后才能提交这些更改。

但是,您需要首先创建一个分支来保存提交,因为子模块repo处于“分离头”状态 - 即它处于特定提交,而不是分支的头部。如果不这样做,那么下一个子模块更新不仅会覆盖您的更改,而且您将无法轻松找到您可能希望合并到其中的先前更改。