如何批量 git pull 某个文件夹中的 git 仓库?

上代码

用 shell 脚本可以比较方便实现:

首先新建脚本:pull-all.sh

touch pull-all.sh

填入如下内容:

#!/bin/bash

function showMsg() {
    echo -e "\033[32m$1\033[0m"
}

function getdir() {
    for element in $(ls $1); do
        dir_or_file=$1"/"$element
        if [ -d $dir_or_file ]; then
            cd $1"/"$element
            showMsg 'git pull '$element
            git pull
        else
            echo $dir_or_file
        fi
    done
}
# if has param, then use param as path, else tip to input path
if [ -n "$1" ]; then
    getdir $1
else
    read -p "Please input path: " path
    getdir $path
fi

然后改一下权限:

chmod +x pull-all.sh

接下来就可以直接运行了:

./pull-all.sh [要批量 pull 的目录]

也可以不跟参数,会提示你输入目录~

注意这里要输入绝对路径(可以 pwd 获取),否则会只有第一个 pull 成功~

神不神奇~哈哈,上面的代码前半部分是抄的,后半部分是 Copilot 生成的~

食用愉快啦~~

参考文章

你可能感兴趣的:(shellbackupgit)