GitHub
自動生成git commit記錄用以統計個人專案週報,全組專案週報,版本差異記錄等
例子
# 生成個人週報 -> xxx.md
$ ./gen-log.sh
# [2018-02-27]
# * feat: sss
# * feat: xxx
# * chore: xxxsss
# [2018-02-28]
# * fix: xxx
# * chore:fff
# * chore:ggg
# [2018-03-01]
# * chore: xxx
# * chore: xxx
# * feat: xxx
# [2018-03-02]
# * fix:sdfdsf
# [2018-03-05]
# * feat: xxx
複製程式碼
# 生成個人週報覆蓋已有檔案
$ ./gen-log.sh -f
複製程式碼
# 生成團隊週報 -> 20xx.xx.xx.md
$ ./gen-log.sh -a ''
# [2018-02-26]
# * refactor: sdfa (dachui)
# * fix: 1639 (顧重)
# * feat: gggg (dachui)
# * feat: aaaaa (dachui)
# [2018-02-27]
# * chore: sdf (dachui)
# * chore: 程式碼格式化 (dachui)
# * chore: sdf (顧重)
# [2018-02-28]
# * fix: 1111 (顧重)
# * chore: 22222 (dachui)
# [2018-03-01]
# * chore: vvvv (顧重)
# * chore: ssss (顧重)
# * feat: bbbb (顧重)
# * fix: asdf (dachui)
# [2018-03-05]
# * feat: 2222 (顧重)
複製程式碼
# 生成待發布版本資訊 -> vx.x.x.md
$ ./gen-log.sh -a '' -t master -o develop -s 1970-01-01
# > 2018-03-05
# #### 新增
# * sdf (lizhen)
# * 234 (dachui)
# * hh (dachui)
# * bbb (dachui)
# #### 修改
# * 2222 (asdf)
# #### 重構
# * vvvv (dachui)
# #### 文件
# * aaaa (dachui)
# #### 其他
# * ssss&優化程式碼 (lizhen)
# * vvvv (dachui)
# * 123 (顧重)
複製程式碼
# 生成目錄為version
$ ./gen-log.sh -d version
複製程式碼
配置
- -a 貢獻者;預設:git 全域性配置 name;可傳 '' 表示所有貢獻者
- -s 起始時間;預設:上週一
- -e 終止時間;預設:當天
- -o 設定比對分支源分支名;預設當前分支
- -r 本地專案路徑;預設當前目錄
- -t 設定比對分支目標分支名;預設當前分支
- -v 設定比對版本;預設package.json中version欄位值
- -f 設定是否強制覆蓋已有檔案;預設:不覆蓋
- -d 設定輸出目錄;預設:log
使用
- 開啟終端(預設已配置git環境),執行
cd ~/Downloads && git clone git@github.com:GiantZero-x/proj-gen-git-log.git && ./proj-gen-git-log && chmod +x gen-log.sh
- 執行
./gen-log.sh -r <path-to-your-repository>
- 自動在
log
資料夾(若無會自動建立)下生成{user}.md檔案
進階
# 輸出 someone 2018年1月1日至2018年1月31日commit記錄至./git-log/someone.md檔案中,若已存在該檔案直接覆蓋
./gen-log.sh -r <path-to-your-repository> -a someone -s 2018-01-01 -e 2018-01-31 -d git-log -f
複製程式碼
注意
- 每個版本需修改
package.json
版本號 - 儘可能保證功能分支commit message簡明扼要並且沒有無意義commit
- 對比模式需要兩個分支都存在本地, 並且所有commit message以(feat、fix、refactor、style、docs、chore)開頭,例
feat: 完成作者列表展示
其他
- 根據配置項可生成各種git記錄,歡迎優化、擴充、拍磚、Star!