一键更新多个git仓库至远程

因为同时在本地维护几个Github的仓库,每次更新后每个仓库要重复三步提交同步,有点麻烦。

发现可以写.sh文件来实现一键更新。

比如我要更新我的BlogBackup和CodeRepo两个仓库的代码如下。

#! /bin/bash

cd d:/10GitRepository/BlogBackup
git add -A
git commit -m "update"
git push origin master
cd d:/10GitRepository/CodeRepo
git add -A
git commit -m "update"
git push origin master

其实就是在第一行注明后,接下来就是普通的git命令。

每次更新,直接双击.sh文件就会自动执行这些命令。如果要再编辑,就打开方式选atom(notepad++应该也行?)进行修改就可以了。


更新根目录下所有的git仓库

如果我在D:/gitrepo目录下专门存放我的git仓库,想要根目录下的全部仓库都更新一遍。那么使用下面的代码。在根目录下放这个git_acp_all.sh,用atom编写下面的代码。也是双击运行文件就可以。

#!/bin/bash

# 获取 git 仓库路径
find `pwd` -type d -name ".git" > git_dir.txt
sed -i "s//.git///g" git_dir.txt

# 循环文件中的路径拉取数据
while read LINE
do
    echo $LINE
    cd "$LINE"
    git add -A
    git commit -m "update"
    git push origin master
done < git_dir.txt
rm -rf git_dir.txt

【参考】

[1]Git批量拉取

原文地址:https://www.cnblogs.com/IvyWong/p/10093542.html