# auto-project **Repository Path**: autoscript/auto-project ## Basic Information - **Project Name**: auto-project - **Description**: 自动化项目管理工具:批量 clone 项目、创建新分支、切换分支、升级项目 pom.xml 版本、push 项目等工具 - **Primary Language**: Shell - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2022-03-25 - **Last Updated**: 2023-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍 自动化项目管理工具,包括:批量 clone 项目、创建新分支、切换分支、修改项目 pom.xml 版本、push 项目等工具,可以根据需求执行按照《组件开发规范》自定义工具。 # 软件架构 使用 shell 脚本编写 # 使用说明 ## 一、目录升级 目录分为两级目录(最多有两级目录),如下所示: - 一级目录:是对同类型功能的汇总目录 ![image](./image/0001.png) - 二级目录:具体功能目录 ![image](./image/0002.png) ![image](./image/0008.png) ## 二、具体功能 ### 1、Git Tools 1. **Batch Clone Project** ![image](./image/0003.png) 需要配置脚本目录下 `config/projects.txt` 文件,将待 clone 的项目名称添加到该文件中,若 git 仓库有子组,需要按照下面格式添加:`/子组名称/项目名称`,选择该功能需要根据提示添加一个参数: - Git 基础 URL:`URL + /子组名称/项目名称 + .git` 组成 clone 项目的 HTTP URL >注意:projects.txt 需要设置为 Unix(LF) 格式,**V3.0.0 实现自动转换为 LF** 1. **Batch Checkout Branch** ![image](./image/0004.png) 可以批量将 clone 到本地的所有项目的分支切换成指定分支,需要根据提示填写一个参数 - 待切换的分支名称 3. **Batch Creating Branch** ![image](./image/0005.png) 创建新的分支:可以批量将 clone 到本地的所有项目创建相同的分支,需要根据提示填写三个参数 - 目标分支:待创建的新分支名称 - 参照源远程:创建新分支参照的远程名称, 不输入默认为 origin - 参照分支名称:创建新分支参照的分支名称 3. **Batch Delete Remote Branch** ![image](./image/0006.png) 需要配置脚本目录下 `config/retain-branches.txt` 文件,该文件用于配置需要保留的分支,文件中配置的分支将保留(建议将受保护的分支配置到保留分支列表中),其余分支会自动删除。 5. **Batch Push Repository** ![image](./image/0007.png) 按照现在项目的分支和 remote origin push 到仓库 6. Batch Add Remote ![image](./image/0012.png) 给项目批量添加一个名为 `upstream` 的 remote,只需要输入远程的 URL 即可。 > 注意: > > 待添加的远程组结构和名称要与 origin 的一致,否则会添加异常 7. Batch Synch Branch ![image](./image/0013.png) 这个组件有两个作用: - fork 项目:若 upstream 只有组结构,没有项目,执行该组件,相当于将项目 fork 到 upstream 中,但是只保留同步的分支,而且该分支为受保护的分支。作为 fork 项目使用,建议先同步 master 分支 - 同步分支:将输入的分支同步到 upstream >注意: > >待添加的远程组结构和名称要与 origin 的一致,否则会添加异常 ### 2、Project Tools 1. Batch Modify Maven Version ![image](./image/0009.png) 可以修改当前项目 maven 版本和第二个 version 的版本,或其他任意位置的版本(需要适当调整 AutoProject.sh 脚本),使用该功能需要根据提示填写两个参数: - 版本类型:这个是根据我们项目需要设置(若有需要可以调整为其他),就修改 pom.xml 中第一个和第二个 version 标签内容 - 待修改的版本:替换现在 version 中的内容 # 自定义组件 详见 document 目录中《组件开发规范》