Fork软件笔记:一键拉取仓库所有模块

Fork是一个好用的git工具,只是没有中文而已(不过不用翻译也能看使用)。

工具下载地址:https://fork.dev/

界面展示:

当项目中仓库模块比较多时,可以看到每个模块都是一个分页,每一个都要手动切换分页拉取,比较麻烦。

这时候可以使用一些git的命令实现一次全部拉取功能。

比如Window上可以这样:

bash 复制代码
@echo off
git branch --show-current && git pull --all && echo. && git submodule foreach --recursive "git branch --show-current && git pull --all && echo."

MacOS不太清楚,不过在这里是为了推荐工具中内置的脚本工具。

打开Fork软件,依次点击:

File → Preferences... → Custom Commands → + → Add Repository Custom Command

可以在面板右边的Action选项下,选择"Sh Command"并打开"Edit Action"面板。这里顺手将Name修改为"拉取所有仓库"

在"Script"文本框中输入以下代码,可以实现Fork中的一键拉取仓库中的所有模块(包含子模块)。

bash 复制代码
#!/bin/bash

# 切换到包含.git的目录,确保脚本在仓库根目录运行
cd "$(git rev-parse --show-toplevel)"

# 获取当前分支名称
current_branch=$(git branch --show-current)

# 拉取当前分支的更新
git pull origin "$current_branch"

# 更新所有子模块的当前分支
git submodule foreach --recursive '
    cd "$0"
    # 获取子模块的当前分支名称
    submodule_current_branch=$(git branch --show-current)
    # 拉取子模块当前分支的更新
    git pull origin "$submodule_current_branch"
'

点击"Edit"后,保存代码。关闭"Preferences"窗口后,可以在工具主窗口的右上角"Open In"菜单列表中找到刚刚新加的"拉取所有仓库"。

相关推荐
William Dawson6 小时前
2026软考中级系统集成项目管理工程师备考笔记
笔记·系统集成项目管理工程师
love530love9 小时前
精简版|Claude-HUD 插件介绍 + 一键安装教程
人工智能·windows·笔记
想成为优秀工程师的爸爸9 小时前
第三十篇技术笔记:郭大侠学UDS - 人有生老三千疾,望闻问切良方医
网络·笔记·网络协议·tcp/ip·信息与通信
郝学胜-神的一滴10 小时前
罗德里格斯旋转公式(Rodrigues‘ Rotation Formula)完整推导
c++·unity·godot·图形渲染·three.js·unreal
tq108611 小时前
数学:约束表征空间的最小闭包
笔记
freexyn12 小时前
Matlab自学笔记七十六:表达式的展开、因式分解、化简、合并同类项
笔记·算法·matlab
IT摆渡者14 小时前
linux 系统安全检查
运维·网络·经验分享·笔记
十安_数学好题速析15 小时前
【多选】曲线方程:四步避坑判断曲线类型
笔记·学习·高考
chase。17 小时前
【学习笔记】skrl: 模块化、灵活的强化学习库深度解析
笔记·学习
其实防守也摸鱼17 小时前
CSDN博客写什么?从0到1打造你的技术影响力
笔记·测试用例·博客·教程·ai写作·ai辅助·高质量