機密情報(.env、セッションログ、AIエージェントの設定など)を守りながら、安全に GitHub / GitLab へプッシュするためのインタラクティブ CLI ツールです。
AI エージェントを使って開発していると、セッションログや .env がうっかりパブリックリポジトリに push されてしまうリスクがあります。このツールは push 前に .gitignore の整備と .env のダミー化を自動で行います。
linux/— Linux / macOS 用スクリプトとインストーラーwindows/— Windows 用スクリプトとインストーラーgitpush.toml.example— 設定ファイルの例Dockerfile— コンテナ実行用
使っている OS のフォルダを開いて、それぞれの README を参照してください。
.gitignoreの自動生成(.env,__pycache__/,.roo/,.aider/,.qwen/などを除外).envの自動スキャン →.env.example生成(値をダミー化)- リポジトリの自動作成(public / private 選択式、
gh/glab使用) - GitHub / GitLab リモート URL の設定(
git init/remote add/branch -M main) - プッシュ前の確認(
yのみgit pushを実行)
gitpush.toml をプロジェクトに置くと有効になる機能:
- pre-commit フック自動登録 —
.envやトークンがコミットされるのをブロック - CI ワークフロー自動生成 —
.github/workflows/secret-scan.yml(gitleaks でプッシュ時スキャン) - リモート警告 — 予期しないリモートへの push を警告
- 自己更新 — 起動時に GitHub 上の最新版と比較し更新を提案(stable / beta チャンネル可)
- ソース内秘密リテラルスキャン —
ghp_...等を検出して警告(scan_secrets) - 機密ファイル警告 —
.pem/.key等を検出して警告(warn_secret_files) - .gitignore ギャップチェック — 不足パターンを警告し追加を提案(
check_gitignore_gap) - コミット履歴スキャン — 過去のコミットもスキャン(重い・デフォルト off、
scan_history) - dry-run プレビュー — push 前に
git diff --statを表示(dry_run) - マルチリモート push — 追加リモートへ一斉 push(
extra_remotes) - コミットメッセージ指定 — デフォルト / 入力 /
--message(default_message) - ブランチ自動命名 — パターン指定で自動命名(
branch_pattern、デフォルト off) - ログ出力 —
gitpush.logへ記録(log_file) - GitLab / Bitbucket 対応 —
provider = "gitlab"(glab使用) - トークンで push — GitHub トークン(
GITHUB_TOKEN環境変数 /gitpush.tomlのtoken = "...")を使い、認証なしで push。push 後に remote URL からトークンを自動削除 - リポジトリ選択 — 既存リポ一覧を GitHub API で取得し、数字で選択 / 0 で新規作成 /
qで終了(トークンが必要) - 設定は TOML のみ — すべての設定は
gitpush.toml(プロジェクト + グローバル~/.config/gitpush.toml)で管理。対話式設定メニューは廃止 - メニュー操作 — 番号で選択、
qでキャンセル終了(y/N プロンプトや自由入力には影響しません) - 非対話モード —
--yes --public --repo NAME [--message ...] - グローバル設定 —
~/.config/gitpush.tomlをプロジェクト設定にマージ - Docker / アンインストーラー —
Dockerfile、uninstall.sh/uninstall.ps1
詳細は各フォルダの README を参照してください。gitpush.toml.example が設定例です。
gitpush update コマンドを実行することで、最新版へのアップデートを行うことができます。
起動時に新しいバージョンが見つかった場合は警告が表示されるので、その際にこのコマンドを実行してください。
もし手動で更新したい場合やコマンドがうまく動かない場合は、再度リポジトリを git pull するか、最新のインストーラー(install.sh または install.ps1)を再実行してスクリプトを上書きしてください。
起動時に日本語 / English を選択できます。
MIT LICENSE 自由に使ってください。