因为同时在本地维护几个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批量拉取