实用脚本能批量推送吗?

wen 实用脚本 10

本文目录导读:

实用脚本能批量推送吗?

  1. 使用脚本批量推送
  2. 一键批量推送工具
  3. 实用场景脚本
  4. 注意事项
  5. 高级功能

可以批量推送,以下是几种实用方法:

使用脚本批量推送

Git Bash 脚本

#!/bin/bash
# batch-push.sh
# 配置仓库列表
repos=(
    "/path/to/repo1"
    "/path/to/repo2"
    "/path/to/repo3"
)
for repo in "${repos[@]}"; do
    cd "$repo" || continue
    echo "Pushing $repo..."
    git add .
    git commit -m "批量更新 $(date)"
    git push origin main
    echo "✅ $repo 推送完成"
done

Python 脚本

import subprocess
import os
repos = [
    "/path/to/repo1",
    "/path/to/repo2",
    "/path/to/repo3"
]
for repo in repos:
    os.chdir(repo)
    print(f"开始推送: {repo}")
    subprocess.run(["git", "add", "."])
    subprocess.run(["git", "commit", "-m", "批量更新"])
    subprocess.run(["git", "push", "origin", "main"])

一键批量推送工具

使用 git-yolo

# 安装
npm install -g git-yolo
# 批量推送
git yolo -m "批量更新"

使用 git-pull-all

# 安装
npm install -g git-pull-all
# 批量拉取和推送
git-pull-all
git-push-all

实用场景脚本

多分支推送

#!/bin/bash
# push-all-branches.sh
for branch in $(git branch | sed 's/* //'); do
    git checkout $branch
    git push origin $branch
done

定时批量推送 (Cron)

# crontab -e 添加
0 */6 * * * /path/to/batch-push.sh

注意事项

⚠️ 安全建议

  • 使用 SSH 密钥验证避免重复输入密码
  • 配置 git credential helper 自动保存凭证
  • 测试脚本先在测试仓库运行

高级功能

带日志推送

#!/bin/bash
LOG_FILE="push-$(date +%Y%m%d).log"
batch_push() {
    echo "[$(date)] 开始批量推送" >> $LOG_FILE
    for repo in $@; do
        cd $repo
        git push origin main 2>&1 | tee -a $LOG_FILE
    done
}

需要我帮你写一个特定场景的批量推送脚本吗?比如针对多个仓库、多分支或带错误处理的版本。

抱歉,评论功能暂时关闭!