# gitVerInfo
**Repository Path**: DyyYq/gitVerInfo
## Basic Information
- **Project Name**: gitVerInfo
- **Description**: 这是一个dyy个人使用的用于整理打印git信息的脚本集合
- **Primary Language**: Python
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-03-22
- **Last Updated**: 2025-03-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# gitVerInfo
## 介绍
本仓库是dyy个人使用的一些脚本组合,主要用于辅助整理git提交信息,并按一定的规则生成版本信息
### 打印log日志的效果 👇

### 打印版本效果 👇

### 生成 gitVer.h 效果 👇

### 生成 gitVer.cs 效果 👇

### 发布文档 👇
```bash
git pb xxx.doc
```
命令效果如下:

你可以使用
## 使用说明
### 👉使用 *git verInit* 命令引入gitVerInfo资源
*该脚本会将必要的 gitVerInfo 资源复制到当前的git仓库中*
```bash
git verInit
```
命令效果如下:

### 👉使用*git lp*命令打印格式化的日志信息
```bash
:: 打印最近15条日志
git lp
:: 打印所有日志
git lpp
:: 打印指定数量的日志
git lpp -30
```
命令效果如下:

### 👉根据指定的分支和tag样式生成版本号
```bash
:: 打印公开版本号和私有版本号
git vr
:: 只打印私有版本号(内部版本号)
git vr0
:: 只打印公开版本号(外部版本号)
git vr1
```
命令效果如下:

### 👉发布指定的文档或者文件夹
```bash
git pb xxx.doc
```
## 配置教程
### 👉clone本仓库的脚本到 $HOME(c:\Users\xxx\) 目录中
```bash
git clone git@gitee.com:DyyYq/gitVerInfo.git
```
### 👉配置.gitconfig命令
以下.gitconfig中配置的git命令,将帮助你在git中调用gitVerInfo.py的功能,实现日志打印,版本生成,和gitVer.h/cs文档生成的功能。
```py
[alias]
# 调用 publish.py 脚本打印输出格式化的日志消息
lpp = "!f(){ winpty python publish.py --gitRePoDir=\"$PWD\" --showLog --logsCount=-1 $1 $2; }; f"
# 调用 publish.py 脚本打印输出格式化的日志消息(限最新的15条)
lp = lpp --logsCount=15
# 发布指定的文档或者文件夹(以公开版本号和私有版本号同步发布
pb = "!f(){ winpty python publish.py --gitRePoDir=\"$PWD\" --objToBePublished=\"$1\" --publishType_0Private_1Public_2Both=2 --outputType_0PublishObj_1PrintGitVer=0; }; f"
# 以私有版本号发布指定的文档或者文件夹
pb0 = "!f(){ winpty python publish.py --gitRePoDir=\"$PWD\" --objToBePublished=\"$1\" --publishType_0Private_1Public_2Both=0 --outputType_0PublishObj_1PrintGitVer=0; }; f"
# 以公开版本号发布指定的文档或者文件夹
pb1 = "!f(){ winpty python publish.py --gitRePoDir=\"$PWD\" --objToBePublished=\"$1\" --publishType_0Private_1Public_2Both=1 --outputType_0PublishObj_1PrintGitVer=0; }; f"
# 调用 publish.py 脚本打印输入格式化的版本信息(公开版本号,和私有版本号)
vr = "!f(){ winpty python publish.py --gitRePoDir=\"$PWD\" --focusDoc_fileName=\"$1\" --publishType_0Private_1Public_2Both=2 --outputType_0PublishObj_1PrintGitVer=1 $2; }; f"
# 调用 publish.py 脚本打印输入格式化的版本信息(私有版本号)
vr0 = "!f(){ winpty python publish.py --gitRePoDir=\"$PWD\" --focusDoc_fileName=\"$1\" --publishType_0Private_1Public_2Both=0 --outputType_0PublishObj_1PrintGitVer=1; }; f"
# 调用 publish.py 脚本打印输入格式化的版本信息(公开版本号)
vr1 = "!f(){ winpty python publish.py --gitRePoDir=\"$PWD\" --focusDoc_fileName=\"$1\" --publishType_0Private_1Public_2Both=1 --outputType_0PublishObj_1PrintGitVer=1; }; f"
# 调用 scriptsUpdate.py 脚本将 gitVerInfo 的基础脚本复制到当前的仓库中来
verInit = "!f(){ winpty python \"$HOME/gitVerInfo/scriptsUpdate.py\" --tgtDir=\"$PWD\" --overwriteFlg_0No_1Yes=1; }; f"
```
### 👉根据你的需要,配置项目的UID和指定版本追踪分支和tag格式
由于公开版本号不包含commit信息,为了保障其版本号可查,需要有一个数据库记录公开版本号与私有版本号的对应关系,根据你的需要和实际情况,配置mysql信息
```json
{
"productId": "e97eba9e-56b8-8e6d-b247-dce6265b7f93",
"majorBranchName": "master",
"tagPrefix_major": "m",
"minorBranchName": "release",
"tagPrefix_minor": "r",
"anchorChar": "⚓",
"mySql": {
"host": "127.0.0.1",
"user": "uName",
"pwd": "xxx",
"db": "demo",
"charset": "utf8",
"table": "gitVersion"
}
}
```
## 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request