SourceTree中的git子模块更新在哪里?

时间:2012-10-15 15:42:31

标签: git git-gui atlassian-sourcetree

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

5 个答案:

答案 0 :(得分:23)

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

答案 1 :(得分:15)

只需双击子模块或左键单击即可打开模块 enter image description here

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

答案 2 :(得分:4)

以下是版本:

enter image description here

此命令假定您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.

答案 3 :(得分:0)

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

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

  • 选择子模块下拉列表
  • 双击要更新的子模块 - 您将焦点切换到子模块
  • 拉(最新)或结帐(特定提交)所需的更新
  • 返回主存储库的选项卡
  • 主存储库中将存在未提交的更改(子模块提交使用)
  • 提交并推送更改

答案 4 :(得分:-3)

SourceTree允许您直接从UI添加子模块。只需右键单击侧栏,添加从列表中选择“添加子模块”。更多信息here