git submodule update在SourceTree中的什么位置?

vof42yt1  于 2023-06-20  发布在  Git
关注(0)|答案(6)|浏览(209)

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

h22fl7wq

h22fl7wq1#

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

u3r8eeie

u3r8eeie2#

只需双击子模块或左键单击并打开模块x1c 0d1x
一旦进入子模块,UI就像任何git repo一样,按pull/fetch更新到header。瞧

flseospp

flseospp3#

以下是windows版本:

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

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

不确定这是否是一个bug --但在我使用的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.
brtdzjyr

brtdzjyr4#

我用的是源码树v3.4.6,可以通过菜单工具\选项

开启
克隆时需要开启递归子模块

cmssoen2

cmssoen25#

Isuru提供的link确实包括了如何执行更新(查找“更改仓库正在跟踪的子模块提交”)
简而言之,在主存储库上,

  • 选择子模块下拉列表
  • 双击要更新的子模块-将焦点切换到该子模块
  • pull(最新)或checkout(特定提交)所需的更新
  • 返回到主存储库的选项卡
  • 在主存储库中将有一个未提交的更改(哪个子模块提交使用)
  • 提交并推动变更
zc0qhyus

zc0qhyus6#

在未暂存文件列表中,右键单击要更新的子模块,然后选择“放弃”。这将执行git submodule update

相关问题