使用脚本批处理让-Hexo 一键部署 deploy 和推送 push 到远程仓库

2019-08-19 16:36:38 +08:00
 shanlan

缘由

通常 Hexo 博客程序需要使用命令进行生成然后再部署到服务器,如果备份博开程序的话,还需要使用 Git 进行 push 操作,异常的繁琐。为此,我将利用脚本功能,来实现自动化操作,降低重复劳动。

操作方法

  1. 新建 txt 记事本文件:deployHexo.cmd

  2. 将以下批处理代码粘贴到你刚建立的 txt 内,然后根据你的实际情况进行修改,下面是 Hexo 的 deploy 部署脚本

    @echo off
    D: ::切换到你 hexo 程序所在的磁盘,例如我是在 D 盘
    cd D:\GitHub_Pages\Hexo-git\shanlancoding.github.io ::切换到你 Hexo 程序的完整目录
    hexo g -d && mshta vbscript:msgbox("部署完成,准备 push 源程序到仓库",6,"部署完成")(window.close) && color 4 && call pushHexo.cmd ::这一行其实有四条命令,通过&& 符号连接起来执行
    

    下面是把 Hexo 源程序通过 Git push 到远程仓库的批处理脚本,也就是备份你的 Hexo 程序

    新建文件名:pushHexo.cmd保存

    @echo off
    set /p commit=commit:
    title auto commit
    cd C:\Program Files\Git\bin\
    git.exe add -A
    git.exe commit -m %commit%
    git.exe push
    echo 命令执行完毕,请按任意键关闭
    pause >null
    

命令详解

deployHexo.cmd 文件

  1. @echo off 关闭不必要的批处理提示语
  2. D: 切换到你 hexo 程序所在的磁盘,例如我是在 D 盘
  3. cd D:\GitHub_Pages\Hexo-git\shanlancoding.github.io 切换到你 Hexo 程序的完整目录
  4. hexo g -d Hexo 命令,生成静态页面文件
  5. mshta vbscript:msgbox("部署完成,准备 push 源程序到仓库",6,"部署完成")(window.close) 弹出 Windows 对话框,用于提示
  6. color 4 修改控制台的字体颜色
  7. call pushHexo.cmd 调用另一个批处理文件

pushHexo.cmd 文件

  1. set /p commit=commit: 设置变量用来接收你输入的 push 描述
  2. title auto commit 设置批处理窗口的标题
  3. cd C:\Program Files\Git\bin\ 切换到你的Git.exe目录,注意是 Git.exe ,而不是 git-bash.exe,由于我的 Git 本身安装在 C 盘,若你的安装在 C 盘以外,例如 D 盘,则在执行这条命命令之前还需要添加一条命令:D:
  4. git.exe add -A 添加所有变动的文件到本地 Git 暂存区
  5. git.exe commit -m %commit% 将本地 Git 暂存区的文件提交给本地仓库,并且戴上了本次提交的描述
  6. git.exe push 将本地仓库文件推送给远程仓库,可以理解为上传
  7. echo 命令执行完毕,请按任意键关闭 批处理的提示语
  8. pause >null 让批处理界面暂停而不会自动关闭界面

使用方法

  1. 当你把两个文集都修改完成后,双击启动deployHexo.cmd文件后,批处理将会自动调用hexo generatehexo deploy

  2. deployHexo.cmd文件执行完毕后,将会有一个系统弹窗来提醒你,输入一个 push 消息,然后就可以回车确认了

最后欢迎大家访问我的博客,一起学习交流、进步

原文:Git 修改远程仓库 URL,添加 Fetch/Pull 的 URL 的解决方法 | 山岚 - 90 码农历险记

1642 次点击
所在节点    程序员
1 条回复
shanlan
2019-08-20 23:18:33 +08:00
一天过去了,一条回复都没有,是没人用吗?也不对啊,有人收藏的,难道还有更完美的解决方法吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/593216

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX