38

如何更新 SourceTree 中的 git 子模块?

4

5 回答 5

37

我自己找不到答案,所以我创建了一个自定义操作。转到首选项、自定义操作,然后输入以下信息:(这是在 Mac 上。您的 git 可执行文件的路径可能会有所不同。) git 子模块更新自定义操作

于 2013-04-03T19:18:04.687 回答
17

只需双击子模块或左键单击并打开模块 在此处输入图像描述

一旦进入子模块,UI 就像任何 git repo 一样,按下 pull/fetch 以更新到标题。瞧。

于 2012-12-09T17:25:37.160 回答
7

这是版本:

在此处输入图像描述

此命令假定您的位置sh.exe- 取决于您设置 SourceTree 的方式,它可能位于其他位置。

/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c "git submodule update"""

不确定这是否是一个错误 - 但在我使用的 Sourcetree 版本(v1.6.14.0)中,我发现""最后需要额外的一对引号 - 否则存在额外的引号,然后不平衡的语句会导致sh大叫:

cmd "/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c "git submodule update""
sh: unexpected EOF while looking for matching `"'
sh: syntax error: unexpected end of file

Completed with errors, see above.
于 2015-03-25T19:57:13.207 回答
3

我正在使用源代码树 v3.4.6,您可以通过菜单Tools\Options启用它 在此处输入图像描述

克隆时,您应该启用递归子模块 在此处输入图像描述

于 2021-10-14T02:53:28.613 回答
3

Isuru 提供的链接确实包括如何执行更新(查找“更改您的存储库正在跟踪的子模块提交”)

简而言之,在主存储库中,

  • 选择子模块下拉菜单
  • 双击要更新的子模块 - 您将焦点切换到子模块
  • 拉(最新)或签出(特定提交)所需的更新
  • 返回主存储库的选项卡
  • 主存储库中将有一个未提交的更改(使用哪个子模块提交)
  • 提交并推送更改
于 2017-02-23T11:00:03.113 回答