bat 自动 git pull
如果将项目文件,放在同一个目录下,想批量检出,比较重复的方法是每个文件夹打开一个git bash 然后git pull
可以通过一个脚本,放在项目同级目录下,双击就可以批量自动更新git项目了。
下面的脚本可读性还是可以的(就是bat语法有点恶心,跟linux的shell语法一样恶心)
gitPull.bat 脚本
@echo off
for /d %%a in (*) do (
echo %%~a
cd %%~a
git pull
cd ..
)
pause
注意事项
有一个需要注意的是,git bash可以执行git不代表git的cmd可以执行,如果直接在cmd输入git提示:
C:\Users\Administrator\git
'git' 不是内部或外部命令,也不是可运行的程序或批处理文件。
C:\Users\Administrator\git
那么就需要配置一下环境变量了,操作:
我的电脑》右键》属性》高级系统设置》高级》环境变量》(用户变量)PATH
至于修改用户变量还是系统变量?
用户变量和系统变量,就看你自己了,如果是只有一个用户的,直接配置用户变量即可,把git的路径配置进去(可以通过everything这个强大的Windows文件索引工具找到你的git.exe)
本人的用户变量参考:
C:\Python37\Scripts\;C:\Python37\;C:\Users\Administrator\AppData\Roaming\Composer\vendor\bin;C:\Program Files (x86)\Git\cmd\
开机启动自动执行一个bat
将上述放到Startup目录即可在Windows启动的时候就执行:
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
如果盘符不在C盘,那么需要加个D: cd xxx
类似,完整gitPull.bat脚本:
@echo off
D:
cd githome
for /d %%a in (*) do (
echo %%~a
cd %%~a
git pull
cd ..
)
pause
Linux的自动pull脚本
将下面保存成为autopull.sh
文件,然后chmod u+x autopull.sh
后,即可执行./autopull.sh
批量更新当前目录的仓库
#!/bin/sh
basepath=$(cd `dirname $0`; pwd)
echo "current dir: $basepath"
echo ""
for rop in $(find $basepath -type d -name ".git" | cut -d. -f1)
do
echo "git pulling: $rop"
cd $rop && git pull && cd $basepath
echo ""
done
echo "["`date +"%Y-%m-%d %H:%M:%S"`"]" "All git pull done!!!";
echo ""