自动化提交git

1.前要

这里只是讲解如何在Windows上创建自动化脚本/程序来达到自动pull、commit、push,减少冗余的仓库更新工作,避免在多平台下合作造成版本冲突等。

2.原理

使用Windows下默认的cmd/bat脚本编写代码。

只需要在网络上查询一些相关的语法(该脚本用起来和普通的编程语言差不多),然后根据一些命令行指令知识以及git指令知识,即可快速编写脚本。

3.编码

首先在您包含多个存储仓库的文件下创建一个Windows的.txt后缀的文本文件,输入下面代码:

cmd 复制代码
@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循环体,会对列表里的每一个路径/存储仓库进相同的操作:

  1. cd %%~r:打开存储库的路径
  2. git pull:拉取远端仓库的文件,更新本地仓库(防止后续提交发生冲突)
  3. git add --all:将所有本地仓库新增到暂存区
  4. git commit -m "脚本自动更新所有仓库":将所有暂存区文件添加到本地存储库中进行版本管理
  5. git push:推送到远端仓库
  6. cd ..:回到上一级目录继续循环

代码走到最后一行,使用pause指令让您来得及查看操作的回显信息,而不让终端自动关闭,但按任意键可以让终端关闭。

编写和修改完代码后,以ANSI编码方式保存该文本文件,避免出现中文乱码(如果还是有乱码,请仔细检查您电脑的中文字符集和文本文件的字符集)。

最后,找到这个文本文件,将该文本文件的后缀名从.txt改为.cmd或.bat。

注意:请根据您的需求来编写脚本,因为不同人需求不同,我编写脚本仅仅是为了同步更新所有仓库,如果您需要定制化您的commit,请自行去了解.cmd或.bat下脚本变量的创建,这可能还需要一些关于git的知识。

4.运行

运行代码爷很简单,只需要像运行软件快捷方式一样,双击.cmd或.bat即可。您也可以选择在cmd终端中,使用命令./xxx.cmd或./xxx.bat来运行该脚本。

5.问题

5.1.问题一:找不到目录

路径填错了,或者干脆没有这个存储库。

5.2.问题二:有乱码问题

请检查系统的字符编码规则和存储代码的文本文件的字符编码规则。

相关推荐
海宇大数据2 分钟前
零信任架构实战:基于海宇身份证OCR构建自动化跨境清关核验网关
人工智能·架构·c#·自动化
Lsetea3 分钟前
OpenSSL verify报certificate signature failure:error 7与证书签名排查
运维·https·ssl证书·openssl·证书链
吴声子夜歌13 分钟前
Nginx应用与运维——Nginx Web服务应用实战(HTTP增强协议服务器的搭建)
运维·前端·nginx
小白的码BUG之路21 分钟前
Docker -- 构建ruoyi-auth镜像
运维·docker·容器
新新学长搞科研2 小时前
【IEEE出版/论文高录用率】第七届机械自动化与智能制造国际学术会议(MAIM 2026)
自动化·制造
我叫洋洋2 小时前
涂鸦 T5+ hashcat 自动化破解 WPA2:从单缺 M2 到全自动值守的踩坑实录 破解wifi 密码
运维·单片机·自动化
天远API9 小时前
零信任架构实战:基于天远运营商三要素简版V即时版查询构建自动化司乘安全绑定网关
人工智能·安全·架构·自动化
꯭自꯭闭꯭9 小时前
达梦SQL优化相关
linux·运维·数据库·sql
ZhangJun9510 小时前
在 32GB 内存电脑上本地搭建 Qwen3.6-35B-A3B 大模型踩坑实录
运维·人工智能·阿里云·ai·软件构建
一条破秋裤10 小时前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器