-
Notifications
You must be signed in to change notification settings - Fork 0
GitHub Collaboration and Security
humanbeans893 edited this page Jul 16, 2026
·
2 revisions
humanbeans893/research-template は public ですが、public であることは「誰でも push できる」という意味ではありません。閲覧と fork は可能でも、書き込みには明示的な権限が必要です。
既定ブランチ main には protect-main ruleset が有効で、次を要求しています。
- Pull Request 経由で更新する
- 承認 1 件を要求する
- force push を禁止する
- ブランチ削除を禁止する
- repository admin の bypass も Pull Request 経由に限定する
また、Secret scanning、secret push protection、Dependabot vulnerability alerts、Dependabot security updates を有効にしています。
権限を持つ共同研究者:
git switch -c analysis/<short-topic>
# 編集、テスト
git status
git add <intentional-files>
git commit -m "Describe the research change"
git push -u origin analysis/<short-topic>GitHub で Pull Request を作り、変更内容、検証方法、研究上の影響、生成物の再現方法を書きます。main へ直接 push しません。
外部コントリビューターには原則として collaborator 権限を付けず、fork から Pull Request を出してもらいます。
テンプレートからファイルを複製しても、GitHub の ruleset や security settings が引き継がれない場合があります。リポジトリ作成直後に Settings で確認します。
- 対象を default branch にする
- Require a pull request before merging
- 必要な approving review 数
- Block force pushes
- Restrict deletions
- bypass は最小限とし、可能なら Pull request only
- write/admin 権限は必要な人だけ
- 退職・異動・共同研究終了時に削除
- 日常作業に admin を配らない
- GitHub アカウントで 2 要素認証または passkey を使用
- Secret scanning
- Push protection
- Dependabot alerts
- Dependabot security updates
git status --short
git diff
git diff --cached
git ls-files data/raw次が含まれていないことを確認します。
-
.env、秘密鍵、API token、cookie、認証 URL - raw data、個人情報、精密位置情報、共同研究者からの非公開資料
- 個人名を含む絶対パス、内部ホスト名
- 大容量のモデル、動画、アーカイブ、生成 PDF
- notebook の出力に残ったデータや token
単に最新 commit から削除しても、Git 履歴には残ります。
- 該当 token/鍵を直ちに失効・ローテーションする。
- 影響範囲とアクセスログを確認する。
- 必要に応じて Git 履歴から削除し、共同研究者へ再 clone を依頼する。
- Secret scanning alert を確認して close 理由を記録する。
-
.gitignore、push protection、手順、CI を改善する。
履歴書き換えは共同作業へ影響するため、通常の修正とは分けて明示的に調整します。
- 現在このテンプレートには
LICENSEがありません。閲覧できても第三者が再利用できる条件は明確ではないため、再利用を促すなら目的に合うライセンスを選んで追加します。 - commit の著者名・メールアドレス、削除済みファイル名、Issue/PR の会話も公開対象です。
- 研究データのライセンスとコードのライセンスは別々に確認します。
- 投稿規程や共同研究契約がコード・データの事前公開を認めるか確認します。