通过此脚本可以遍历指定目录下的所有 Git
仓库, 检查他们是否有新的更改, 或者没有同步到远程仓库的更改
因为在工作中生活中有很多可能同时在修改的项目/仓库/笔记的"项目", 所以需要一个这样的脚本在一天的工作结束后, 批量检查它们的状态
- 程序语言:
C#
- 运行平台:
.Net Core 3.1
- 与之前版本相比基于可以跨平台安装执行
首先确保计算机中含有 .Net Core 3.1 +
运行时环境, 如果没有请自行下载
随便找一个目录 git clone
拉取下程序源码
调用命令即可运行:
$ dotnet run --project ./src/GitCheckCommand/GitCheckCommand.csproj
快速调用脚本发布安装, 使用 Powershell
脚本
./shell/find_all_project.ps1
./shell/release.ps1
./shell/install_command_packages.ps1
执行完成, 无错误即可使用命令程序:
gits
第一次运行时就根据程序内置的配置内容自动生成运行时配置文件
如 Window
系统下路径: C:\Users\Administrator\.command_gitcheck_config.json
也可以手动指定配置路径, 使用别名调用即可, 具体参数请使用 -h
查看
内容参数注解如下:
{
// 版本号标识
"Version": "x.x.x",
// 全局配置项: 如果仓库不干净是否, 自动打开对应的 Git Bash 程序
// 目前还没有完成, 正在寻找实现思路
"IsOpenShell": false,
// 全局配置项: 对应的 Git Bash 程序路径地址
"OpenShellGitBashExePath": "C:\\Program Files\\Git\\git-bash.exe",
// 全局配置项, 循环递归查找指定目录下所有仓库的路径隐藏项
// 在查找过程中会将每一项与路径进行正则表达式的匹配, 如果匹配成功则跳过不计算在程序运行范围内
"IgnoresRegexs": [],
// 全局必备项, 执行需要查找那些路径
"Roots": [
{
// 如: 查找 C盘 Work文件夹下所有的Git仓库
"Path": "C:\\Work",
// 没有明确指明其他配置则继承上面的全局配置项
"IsOpenShell": null,
// 指定了需要单独屏蔽某些路径的正则表达式
"IgnoresRegexs": [
"YTS.Test$",
"YTS.Learn$"
]
}
]
}
本人开发使用的是 Window
系统, 使用的 Git
自带的 Git Bash (mintty)
建议安装使用最新版本的 Git version 2.30+
mintty 3.6+
否则会有中文信息输出乱码的情况