1

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

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

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

基本上我想做的是让 Git Extensions 向我展示子模块存储库,让我在其中进行提交、分支、推/拉等。我该怎么做?

4

3 回答 3

2

我在 Git Extensions 邮件列表上问过这个问题。原来这是由最新版本的 msysgit 引起的 Git 扩展中的一个新错误。它应该在未来版本的 Git Extensions 中得到修复(修复已经合并到 GitHub 上的主 Git Extensions 存储库中)。

于 2011-11-08T20:48:07.187 回答
2

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

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

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

于 2013-04-18T05:38:53.013 回答
0

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

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

于 2011-11-04T22:45:19.070 回答