You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量跟踪并提交多个Git仓库?Sourcetree及submodules场景

批量管理多Git仓库的提交与推送方案

你遇到的问题确实是submodules的局限——它仅能实现仓库关联,无法批量执行提交推送操作。下面给你两个直接可用的解决方案:

方法一:自定义脚本一键处理

写个简单的脚本,遍历server和client两个仓库,自动完成暂存、提交(用统一信息)、推送的全流程,无需逐个操作。

Shell脚本(适用于Mac/Linux)

保存为commit-all.sh:

#!/bin/bash
COMMIT_MSG="$1"

if [ -z "$COMMIT_MSG" ]; then
    echo "用法:./commit-all.sh '你的提交信息'"
    exit 1
fi

for REPO in server client; do
    if [ -d "$REPO/.git" ]; then
        echo "=== 处理仓库: $REPO ==="
        cd "$REPO" || exit
        
        git add .
        if ! git diff --cached --quiet; then
            git commit -m "$COMMIT_MSG"
            git push
        else
            echo "$REPO 无变更,跳过"
        fi
        
        cd ..
    else
        echo "$REPO 不是Git仓库,跳过"
    fi
done

使用步骤:

  1. 给脚本添加执行权限:chmod +x commit-all.sh
  2. 运行脚本并传入提交信息:./commit-all.sh "修复支付模块前后端数据同步问题"

PowerShell脚本(适用于Windows)

保存为Commit-All.ps1:

param(
    [Parameter(Mandatory=$true)]
    [string]$CommitMsg
)

$repos = @("server", "client")

foreach ($repo in $repos) {
    $gitDir = Join-Path $repo ".git"
    if (Test-Path $gitDir) {
        Write-Host "=== 处理仓库: $repo ==="
        Set-Location $repo
        
        git add .
        if (-not (git diff --cached --quiet)) {
            git commit -m $CommitMsg
            git push
        } else {
            Write-Host "$repo 无变更,跳过"
        }
        
        Set-Location ..
    } else {
        Write-Host "$repo 不是Git仓库,跳过"
    }
}

使用步骤:

  1. 打开PowerShell,进入脚本所在目录
  2. 运行脚本:.\Commit-All.ps1 -CommitMsg "修复支付模块前后端数据同步问题"

方法二:在Sourcetree中配置自定义操作

如果习惯用Sourcetree操作,可以把脚本集成到软件里,一键触发:

  1. 打开Sourcetree,点击顶部菜单「工具」→「自定义操作」→「添加」
  2. 在弹窗中填写:
    • 名称:批量提交双仓库
    • 脚本路径:选择你刚才保存的脚本文件
    • 工作目录:设置为包含server和client的根文件夹路径
    • 勾选「显示输出」,方便查看执行状态
  3. 保存后,在Sourcetree的「自定义操作」菜单里就能找到这个选项,点击即可自动完成两个仓库的提交推送。

内容的提问来源于stack exchange,提问作者trueicecold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:31:06