GitHub Action: 将Git子目录推送为分支
git-publish-subdir-action 项目地址: https://gitcode.com/gh_mirrors/gi/git-publish-subdir-action
项目介绍
在现代软件开发中,自动化部署和持续集成(CI/CD)是不可或缺的一部分。GitHub Action: Push git subdirectory as branch
是一个强大的GitHub Action,它允许你将仓库中的任意子目录推送到指定的Git分支。无论是将静态网站部署到gh-pages
分支,还是将构建产物推送到另一个仓库,这个Action都能轻松实现。
项目技术分析
这个GitHub Action的核心功能是通过Git命令将指定子目录的内容推送到目标分支。它支持通过SSH或GitHub Token进行身份验证,并且可以自动创建目标分支(如果它不存在)。此外,Action还提供了丰富的配置选项,如自定义提交消息、忽略空提交、压缩历史记录等,以满足不同场景的需求。
项目及技术应用场景
- 静态网站部署:你可以将构建后的静态网站内容推送到
gh-pages
分支,从而实现自动化的网站部署。 - 构建产物发布:将构建产物(如二进制文件)推送到另一个仓库,方便团队成员或用户下载使用。
- 多仓库管理:在多个仓库之间同步特定目录的内容,简化跨仓库的代码管理。
项目特点
- 灵活性:支持将任意子目录推送到任意Git分支,无论是当前仓库还是外部仓库。
- 自动化:通过GitHub Actions实现自动化部署,减少手动操作的错误和繁琐。
- 安全性:支持通过SSH密钥和GitHub Token进行身份验证,确保数据传输的安全性。
- 可配置性:提供多种配置选项,如自定义提交消息、忽略空提交、压缩历史记录等,满足不同场景的需求。
使用示例
示例1:将/public/site
推送到当前仓库的gh-pages
分支
name: Deploy to GitHub Pages
on:
push:
branches:
- master
jobs:
deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Deploy
uses: s0/git-publish-subdir-action@develop
env:
REPO: self
BRANCH: gh-pages
FOLDER: public/site
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
示例2:将/build
推送到另一个仓库的gh-pages
分支
name: Deploy to GitHub Pages
on:
push:
branches:
- master
jobs:
deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Use Node.js
uses: actions/setup-node@main
with:
node-version: 20.x
- name: npm install and build
run: |
npm install
npm run build
- name: Deploy
uses: s0/git-publish-subdir-action@develop
env:
REPO: git@github.com:owner/repo.git
BRANCH: gh-pages
FOLDER: build
SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_PRIVATE_KEY }}
总结
GitHub Action: Push git subdirectory as branch
是一个功能强大且灵活的工具,适用于各种自动化部署和持续集成场景。无论你是开发者还是运维人员,这个Action都能帮助你简化工作流程,提高效率。立即尝试并体验其带来的便利吧!
git-publish-subdir-action 项目地址: https://gitcode.com/gh_mirrors/gi/git-publish-subdir-action
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考