1.前要
这里只是讲解如何在Windows上创建自动化脚本/程序来达到自动pull、commit、push,减少冗余的仓库更新工作,避免在多平台下合作造成版本冲突等。
2.原理
使用Windows下默认的cmd/bat脚本编写代码。
只需要在网络上查询一些相关的语法(该脚本用起来和普通的编程语言差不多),然后根据一些命令行指令知识以及git指令知识,即可快速编写脚本。
3.编码
首先在您包含多个存储仓库的文件下创建一个Windows的.txt后缀的文本文件,输入下面代码:
@echo on
set repos=("仓库路径1" "仓库路径2" "仓库路径3")
for %%r in %repos% do (
cd %%~r
git pull
git add --all
git commit -m "脚本自动更新所有仓库"
git push
cd ..
)
pause
其中,您可以修改上述代码中“仓库路径n”为您的多个仓库路径(路径要包含存储库文件自己),接下来代码进入for循环体,会对列表里的每一个路径/存储仓库进相同的操作:
cd %%~r:打开存储库的路径git pull:拉取远端仓库的文件,更新本地仓库(防止后续提交发生冲突)git add --all:将所有本地仓库新增到暂存区git commit -m "脚本自动更新所有仓库":将所有暂存区文件添加到本地存储库中进行版本管理git push:推送到远端仓库cd ..:回到上一级目录继续循环
代码走到最后一行,使用pause指令让您来得及查看操作的回显信息,而不让终端自动关闭,但按任意键可以让终端关闭。
编写和修改完代码后,以ANSI编码方式保存该文本文件,避免出现中文乱码(如果还是有乱码,请仔细检查您电脑的中文字符集和文本文件的字符集)。
最后,找到这个文本文件,将该文本文件的后缀名从.txt改为.cmd或.bat。
4.运行
运行代码爷很简单,只需要像运行软件快捷方式一样,双击.cmd或.bat即可。您也可以选择在cmd终端中,使用命令./xxx.cmd或./xxx.bat来运行该脚本。
5.问题
5.1.问题一:找不到目录
路径填错了,或者干脆没有这个存储库。
5.2.问题二:有乱码问题
请检查系统的字符编码规则和存储代码的文本文件的字符编码规则。










