如何在SourceTree中更新git子模块?
h22fl7wq1#
我自己找不到答案,所以我创建了一个自定义操作。转到“首选项”、“自定义操作”,然后输入以下信息:(这是在Mac上。您的git可执行文件路径可能会有所不同。)
u3r8eeie2#
只需双击子模块或左键单击并打开模块x1c 0d1x一旦进入子模块,UI就像任何git repo一样,按pull/fetch更新到header。瞧
flseospp3#
以下是windows版本:
此命令假定sh.exe的位置-取决于您如何设置SourceTree,它可能在其他地方。
sh.exe
/c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c "git submodule update"""
不确定这是否是一个bug --但在我使用的Sourcetree版本(v1.6.14.0)中,我发现在末尾需要额外的一对引号""--否则会存在一个额外的引号,然后不平衡的语句会导致sh吠叫:
""
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.
brtdzjyr4#
我用的是源码树v3.4.6,可以通过菜单工具\选项开启克隆时需要开启递归子模块
cmssoen25#
Isuru提供的link确实包括了如何执行更新(查找“更改仓库正在跟踪的子模块提交”)简而言之,在主存储库上,
zc0qhyus6#
在未暂存文件列表中,右键单击要更新的子模块,然后选择“放弃”。这将执行git submodule update。
git submodule update
6条答案
按热度按时间h22fl7wq1#
我自己找不到答案,所以我创建了一个自定义操作。转到“首选项”、“自定义操作”,然后输入以下信息:(这是在Mac上。您的git可执行文件路径可能会有所不同。)
u3r8eeie2#
只需双击子模块或左键单击并打开模块x1c 0d1x
一旦进入子模块,UI就像任何git repo一样,按pull/fetch更新到header。瞧
flseospp3#
以下是windows版本:
此命令假定
sh.exe
的位置-取决于您如何设置SourceTree,它可能在其他地方。不确定这是否是一个bug --但在我使用的Sourcetree版本(v1.6.14.0)中,我发现在末尾需要额外的一对引号
""
--否则会存在一个额外的引号,然后不平衡的语句会导致sh
吠叫:brtdzjyr4#
我用的是源码树v3.4.6,可以通过菜单工具\选项
开启
克隆时需要开启递归子模块
cmssoen25#
Isuru提供的link确实包括了如何执行更新(查找“更改仓库正在跟踪的子模块提交”)
简而言之,在主存储库上,
zc0qhyus6#
在未暂存文件列表中,右键单击要更新的子模块,然后选择“放弃”。这将执行
git submodule update
。