开源项目 delete-merged-branch
使用教程
1. 项目的目录结构及介绍
delete-merged-branch
项目的目录结构如下:
delete-merged-branch/
├── .github/
│ ├── workflows/
│ │ └── action.yml
│ └── delete-merged-branch-config.yml
├── dist/
├── lib/
├── test/
├── .env.example
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── action.js
├── handler.js
├── index.js
├── package-lock.json
├── package.json
├── serverless.yml
└── sonar-project.properties
目录结构介绍
- .github/: 包含 GitHub Actions 的工作流配置文件和项目的配置文件。
- workflows/: 包含 GitHub Actions 的工作流配置文件
action.yml
。 - delete-merged-branch-config.yml: 项目的配置文件,用于自定义分支删除行为。
- workflows/: 包含 GitHub Actions 的工作流配置文件
- dist/: 构建后的文件存放目录。
- lib/: 项目的主要代码库。
- test/: 测试代码存放目录。
- .env.example: 环境变量示例文件。
- .gitignore: Git 忽略文件配置。
- CODE_OF_CONDUCT.md: 项目的行为准则。
- CONTRIBUTING.md: 贡献指南。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- action.js: 项目的主要逻辑文件。
- handler.js: 处理分支删除的逻辑文件。
- index.js: 项目的入口文件。
- package-lock.json: npm 依赖锁定文件。
- package.json: 项目的 npm 配置文件。
- serverless.yml: Serverless 框架的配置文件。
- sonar-project.properties: SonarQube 配置文件。
2. 项目的启动文件介绍
项目的启动文件是 index.js
,它是整个应用程序的入口点。index.js
文件负责初始化应用程序并启动监听 GitHub 的 Webhook 事件。
// index.js
const { Application } = require('probot')
const app = require('./action')
const probot = new Application()
probot.load(app)
probot.start()
启动文件介绍
index.js
: 该文件导入了probot
库,并加载了action.js
文件中的应用程序逻辑。probot.start()
方法启动了应用程序,使其开始监听 GitHub 的 Webhook 事件。
3. 项目的配置文件介绍
项目的配置文件是 .github/delete-merged-branch-config.yml
,它允许用户自定义分支删除的行为。
配置文件介绍
# .github/delete-merged-branch-config.yml
exclude:
- development
- qa
- feature-*
delete_closed_pr: true
exclude
: 一个数组,列出了不应该在合并后自动删除的分支。支持通配符。delete_closed_pr
: 一个布尔值,决定是否在 PR 关闭但未合并时删除分支。
配置文件示例
exclude:
- development
- qa
- feature-*
delete_closed_pr: true
在这个示例中,development
、qa
和所有以 feature-
开头的分支将不会被自动删除。如果 PR 关闭但未合并,分支也会被删除。