Skip to content

設定したGitリポジトリのパスを巡回してコマンドライン引数で指定した期間のコミットログをマークダウンファイルに出力するスクリプトです

License

Notifications You must be signed in to change notification settings

hyperdb/weekGit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WeekGit

概要

このスクリプトは設定ファイル(config.py)に登録したローカルリポジトリのパスからコマンドライン引数で指定した期間内のコミットを出力します。元々ウィークリーの作業実績を確認するためのスクリプトだったものを汎用的に使えるようにしたため、名称はweekgitとなっています。

使い方

$ uv run main.py --from 2026-01-01 --to 2026-01-31 --author gituser@hogehoge.com
  • fromtoは日付を指定します。
    • 日付はYYYY-MM-DD形式で指定します。
    • 内部でfromには00:00:00toには23:59:59を付加して期間としています。
  • authorはコミットを取得する作者のメールアドレスを指定します。

出力されるマークダウンのファイル名は{from}_{to}.mdとなっています。

設定ファイル

設定ファイルはconfig.pyです。 TARGET_REPOSに取得したいリポジトリのパスを指定します。 APP_PATHにはマークダウンの出力先を指定します。

TARGET_REPOS = [
    "path/to/repo",
    "path/to/repo",
    "path/to/repo",
]
APP_PATH = {
    "OUTPUT_PATH": "./output"
}

開発環境

uvを使用して開発環境を構築しました。

以下のコンソール出力はこのドキュメントを書いている時点のものであり、ライブラリのバージョンを指定するものではありません。--link-mode=copyオプションも必須なものではありません。

$ uv init --app
Initialized project `weekgit`

$ uv add --link-mode=copy ruff
Using CPython 3.13.1
Creating virtual environment at: .venv
Resolved 2 packages in 832ms
Prepared 1 package in 1.41s
Installed 1 package in 160ms
 + ruff==0.14.14

$ uv add --link-mode=copy gitpython
Resolved 5 packages in 142ms
Prepared 1 package in 254ms
Installed 3 packages in 124ms
 + gitdb==4.0.12
 + gitpython==3.1.46
 + smmap==5.0.2

$ uv add --link-mode=copy click
Resolved 7 packages in 161ms
Installed 2 packages in 55ms
 + click==8.3.1
 + colorama==0.4.6

ライセンス

MIT License

About

設定したGitリポジトリのパスを巡回してコマンドライン引数で指定した期間のコミットログをマークダウンファイルに出力するスクリプトです

Topics

Resources

License

Stars

Watchers

Forks

Languages