Skip to content

3.Git增强功能

yesAnd edited this page Sep 6, 2023 · 3 revisions

glog 跨仓库查看日志

lwe glog  <仓库所在目录>  [可选参数] 

查询结果对应的是每个git仓库当前使用分支的提交记录

如果未指定目录,则在当前目录下搜寻git仓库,另,如果目录层级过深,可能会影响性能

如:写周报时,需要查看自己近一周在哪些仓库提交了哪些代码,来辅助我写总结,假定我的工作目录在/Users/yesand/work/

lwe glog /Users/yesand/work/  -a=yesand -f=false -n=20 -s=2023-05-15 -e=2023-05-19

其中:

-a, --author string,可选参数,该参数用于指定提交者,未指定查询所有提交者。
-f, --file bool,可选参数,该参数决定将查询结果写到文件中,默认在控制台输出。
-n, --recentN int16,可选参数,该参数指定每个仓库查询最近N条的提交记录。
-s, --start string,可选参数,该参数指定筛选提交记录的开始日期,格式:'yyyy-MM-dd'。
-e, --end string,可选参数,该参数指定筛选提交记录的结束日期,格式:'yyyy-MM-dd'。

结果:示例

#1 Git Repo >> /Users/yesand/work/lwe
+---------+--------+-----------------------------------------+---------------------+
| HASH    | AUTHOR | COMMIT                                  | TIME                |
+---------+--------+-----------------------------------------+---------------------+
| bf67fcd | yesand | 完善命令提示&交互提示                      | 2023-05-19 17:21:34 |
| 3739c60 | yesand | 优化build后的二进制文件大小                 | 2023-05-19 09:44:14|
| 7a2ca47 | yesand | 以表格形式输出提交记录更换为go-pretty库      | 2023-05-19 09:21:26 |
+---------+--------+-----------------------------------------+---------------------+

#2 Git Repo >> /Users/yesand/work/xxx
...

gl 拉取指定目录下所有git仓库

拉取给定目录下的所有git仓库最新代码(使用的git pull --rebase的方式)

lwe gl [仓库所在目录]

如果当前仓库存在未提交的文件,则跳过此仓库的更新

gcl 克隆整个group下的所有git仓库

支持克隆gitlab 中整个group下所有的项目,避免挨个克隆的繁琐

lwe gcl <group地址> -t=<privatetoken> 

此功能需要提供gitlab中的private_token 如果当前仓库已存在则跳过克隆

gst 查看指定目录下所有git仓库状态

查看给定目录下的所有git仓库状态

lwe gst [仓库所在目录]