# 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日志的效果 👇 ![Snipaste_2025-03-22_11-21-38](https://s2.loli.net/2025/03/22/KiozBqxSOkJM9GU.png) ### 打印版本效果 👇 ![Snipaste_2025-03-22_11-19-51](https://s2.loli.net/2025/03/22/CQoO793LuIRbZG6.png) ### 生成 gitVer.h 效果 👇 ![Snipaste_2025-03-22_11-20-39](https://s2.loli.net/2025/03/22/IeWMq3Ri8H6uQnO.png) ### 生成 gitVer.cs 效果 👇 ![Snipaste_2025-03-22_11-22-38](https://s2.loli.net/2025/03/22/pOCEPaLNQ3vig7z.png) ### 发布文档 👇 ```bash git pb xxx.doc ``` 命令效果如下: ![Snipaste_2025-03-22_12-03-53](https://s2.loli.net/2025/03/22/XgAtsKVyBOjPqTN.png) 你可以使用 ## 使用说明 ### 👉使用 *git verInit* 命令引入gitVerInfo资源 *该脚本会将必要的 gitVerInfo 资源复制到当前的git仓库中* ```bash git verInit ``` 命令效果如下: ![Snipaste_2025-03-22_11-46-53](https://s2.loli.net/2025/03/22/sUrwLNclfdTpImJ.png) ### 👉使用*git lp*命令打印格式化的日志信息 ```bash :: 打印最近15条日志 git lp :: 打印所有日志 git lpp :: 打印指定数量的日志 git lpp -30 ``` 命令效果如下: ![Snipaste_2025-03-22_11-51-57](https://s2.loli.net/2025/03/22/PnJkAeyhUQmfoY1.png) ### 👉根据指定的分支和tag样式生成版本号 ```bash :: 打印公开版本号和私有版本号 git vr :: 只打印私有版本号(内部版本号) git vr0 :: 只打印公开版本号(外部版本号) git vr1 ``` 命令效果如下: ![Snipaste_2025-03-22_11-56-17](https://s2.loli.net/2025/03/22/iqkVF8tYRaP4x31.png) ### 👉发布指定的文档或者文件夹 ```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