git 多项目操作脚本

背景

所在项目有多个git工程,且debug期间需要对照多个工程(否则会因为版本不一致而导致问题一直无法定位--血和泪的教训),因此经常遇到对多个工程执行相同git命令的场景。为解决一个个执行低效的问题,写了一个脚本,可以对多个git工程批量执行相同的git命令

shell版

#!/bin/bash

id=""
if test -f ".id"
then
    id=$(cat .id)
else
    while [[ ! $id =~ [0-9]{8} ]]
    do
        read -p "Plz input your id: " id
    done
    echo $id > ".id"
fi

MAIN_PROJ=ssh://${id}@地址ip/路径/路径
SUB_PROJ=(工程1 工程2 工程3 工程4 工程5)

CMD=$1

for PROJ in ${SUB_PROJ[@]}; do
        echo "========${PROJ}========"
        case $CMD in
                clone) git clone ${MAIN_PROJ}/${PROJ}
                ;;
                *) (cd $PROJ && git $*)
                ;;
        esac
done

python 版

import os
import sys
 
 
def exec_command(command):
    result = os.popen(command)
    return ''.join(result.readlines())
 
 
dirs = [path for path in os.listdir('.') if os.path.isdir(path)]
argv = ' '.join(sys.argv[1:])
git_command = 'git ' + argv
for d in dirs:
    print '========================%s============================' % d
    print exec_command('cd %s && %s' % (d, git_command))

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值