Git
リポジトリ運用
リポジトリの所有者、責任範囲、命名規則、可視性設定に関するガイドライン
リポジトリの所有者と責任範囲
所有権の明確化
各リポジトリには明確な所有者を設定し、責任範囲を定義します。
- プロジェクトオーナー: プロジェクト全体の技術的な責任者
- メンテナー: 日常的なコードレビューやマージを担当
- コントリビューター: 機能開発やバグ修正を行う
GitHubの場合、Organization配下のリポジトリでは、チーム単位で権限を管理することを推奨します。
個人リポジトリではなく、Organization配下で管理することで、メンバーの変更や権限管理が容易になります。
責任範囲の定義
リポジトリごとに以下の責任範囲を明確にしてください:
- コードレビューの承認者
- リリース判断の権限者
- 本番デプロイの実行者
- セキュリティインシデント対応者
プロジェクトの規模や重要度に応じて、適切な権限分離を行ってください。
特に本番環境に影響するリポジトリでは、複数人によるレビューと承認を必須とすることを推奨します。
リポジトリ命名・可視性
命名規則
リポジトリ名は以下の原則に従って命名します:
- 小文字とハイフンを使用(例:
project-name、company-website) - 短く、意味が明確であること
- プロジェクトの目的が分かる名前にする
company-website
user-management-api
admin-dashboard
design-system
Project1
test123
app
my-repo
命名時の考慮事項
- プロジェクト名が長い場合は、一般的な略称を使用しても構いません
- バックエンドとフロントエンドが分かれている場合は、
-api、-frontendなどのサフィックスを使用 - マイクロサービス構成の場合は、サービス名を明確に(例:
payment-service、notification-service)
リポジトリの可視性
リポジトリの可視性は、プロジェクトの性質に応じて適切に設定します。
Private(非公開)
デフォルトは Private を推奨します。以下のような場合に使用:
- クライアントワーク
- 社内システム
- 機密情報を含むプロジェクト
- 開発中のプロダクト
Public(公開)
以下の場合のみ Public に設定:
- オープンソースプロジェクト
- 技術ブログのサンプルコード
- コミュニティ向けツール
- 採用活動用のポートフォリオ
可視性の変更について一度 Public にしたリポジトリを Private に戻しても、過去の履歴が完全に非公開になるわけではありません。
Fork やクローンされたリポジトリは残り続けるため、機密情報を含む場合は最初から Private で開始してください。
READMEの整備
すべてのリポジトリには、最低限以下の情報を含む README.md を用意してください:
- プロジェクトの概要
- セットアップ手順
- 開発環境の起動方法
- デプロイ方法(該当する場合)
- ライセンス情報(オープンソースの場合)
# プロジェクト名
## 概要
このプロジェクトは〇〇を実現するための△△です。
## セットアップ
\`\`\`sh
npm install
cp .env.example .env
\`\`\`
## 開発サーバーの起動
\`\`\`sh
npm run dev
\`\`\`
## ビルド
\`\`\`sh
npm run build
\`\`\`
## デプロイ
詳細は [デプロイガイド](/content/2.deploy-release/deploy.md) を参照してください。