Repository navigation
Git/GitHub 研修 + Public化の可否判断: tomoyahiroe #7
Description
このRepository(Lusy Git/GitHub研修)を Public にしてよいかどうか の判断をお願いしたく、Issueを立てました。
判断の前提として、まず研修を一通り実施してください。 教材の中身と、実際にPublicになる成果物(members/ 配下のファイル、Commit履歴、Issue / PRのやりとり)を、受講者と同じ目線で見てもらうためです。
背景 — なぜPublic化を検討しているか
このRepositoryは現在 Private です。そのため Branch Protection が設定できません(GitHub Freeプランでは、Branch ProtectionはPublic Repositoryでのみ利用できるため)。
結果として、いま main は技術的には直接Pushできてしまう状態で、Rule 1・2(mainで直接開発しない / 直接Pushしない)は 文書上のルールとしてのみ 運用しています。研修用Repositoryとしては本末転倒な状態です。
選択肢は docs/admin-setup.md に整理してあるとおり2つです。
| 方法 | 影響 |
|---|---|
| A. Public にする | 費用なしで即座にBranch Protectionを有効化できる。ただし members/ の内容と全Commit履歴が世界に公開される |
| B. GitHub Team プランへアップグレード | Privateのまま有効化できる。Organization単位の課金が発生する |
このIssueで判断してほしいのは、A を選んでよいかどうか です。
Part 1. 研修を実施する
進行表として、以下のチェックリストを上から進めてください。
- ファイル名に使う名前:
tomoya(members/tomoya.mdを作成します) - Conflict実習のペア番号: 1人で進める場合は Part A のみで完結します
Step 0. 事前準備
👉 手順書を開く: docs/03-setup.md
-
git --versionでGit 2.23以上を確認した -
git config --global user.nameを設定した -
git config --global user.emailを設定した(GitHubに登録済みのアドレス) -
git config --global core.editorを設定した - GitHubの認証を通した(
gh auth loginまたはSSH / PAT)
Step 1. 座学(読むだけ・15分)
- 01 Concepts を読んだ(GitとGitHubの違い / 用語)
- 02 Rules を読んだ(Lumosの基本ルール6つ)
Step 2. 実習1: CloneからPull Requestまで
👉 手順書を開く: exercises/01-clone-to-pr.md
-
git cloneした -
git status/git branchで現在地を確認した -
git switch main→git pullでmainを最新化した -
git switch -c training/<name>でBranchを作成した -
members/<name>.mdを作成した -
git diffで「新規ファイルは表示されない」ことを確認した -
git addした -
git diff --stagedで中身を確認した -
git commitした -
git log --onelineで履歴を確認した -
git push -u origin training/<name>した -
mainへ直接Pushしてはいけない理由を理解した(このRepositoryでは実演しません) - Pull Requestを作成した(テンプレートを埋めた)
- CI(Training Check)が緑になった
Step 3. 実習2: Pull Request Review
👉 手順書を開く: exercises/02-review.md
- 他メンバーのPull RequestをFiles changedで読んだ
- 行コメントを1件以上書いた
- Reviewを提出した(Comment / Request changes)
- 自分が受けた指摘に対して、同じBranchで修正・追加Pushした
- 指摘コメントに返信し、Resolve conversation した
- Approveをもらい、自分のPull RequestをMergeした
- Remoteの作業Branchを削除した(Delete branch)
-
git branch -dで手元のBranchも削除した
Step 4. 実習3: PullとFetch
👉 手順書を開く: exercises/03-pull-fetch.md
-
git fetchの前後でgit statusの表示が変わることを確認した -
git log --oneline main..origin/mainで取り込む前に差分を見た -
git branch -aでRemote Branchを確認した -
git pullして他メンバーのファイルが増えたことを確認した -
git log --oneline --graph --allでBranchの分岐と合流を見た - fetchとpullの違いを自分の言葉で説明できる
Step 5. 実習4: 変更を取り消す
👉 手順書を開く: exercises/04-restore.md
-
git restore <file>で編集内容が消えることを確認した -
git restore --staged <file>でStagingだけ外れ、編集は残ることを確認した - 2つの違いを説明できる
Step 6. 実習5: Stash
👉 手順書を開く: exercises/05-stash.md
-
git stashで変更を退避した - 退避中に別Branchへ移動できることを確認した
-
git stash listで一覧を見た -
git stash popで変更が戻ることを確認した
Step 7. 実習6: Conflict
👉 手順書を開く: exercises/06-conflict.md
- Part A:
git merge origin/seed/conflictでConflictを発生させた -
git statusを読んで、次にすべきことを自分で判断した - Conflict Markerの意味(HEAD側 / 取り込む側)を理解した
- 手で内容を修正し、マーカーを3本とも削除した
-
git add→git commit --no-editで解消を完了した -
git log --oneline --graph --allの出力をこのIssueにコメントで貼った - 練習Branchを削除した(Local / Remote 両方)
-
git merge --abortの存在を知った - (任意)Part B: ペアでPull Request経由のConflictを解消した
Step 8. 実習7: Commitを取り消す
👉 手順書を開く: exercises/07-undo-commit.md
-
git revertで打ち消しCommitが作られることを確認した -
git reset --soft HEAD~1でCommitを取り消し、変更が残ることを確認した -
git reset --hard HEAD~1で変更ごと消えることを確認した -
git reflogから復旧できることを確認した - revertとresetの使い分けを説明できる
Step 9. 仕上げ
- 05 Conventions を読んだ(Commit / Branch / PR / Review の書き方)
- 06 Troubleshooting を読んだ(危険な操作を把握した)
- 不要なBranchをすべて削除した(
git branch -aで確認) - 下の「振り返り」を書いた
Part 2. Public化の可否を判断する
研修を終えたうえで、以下を確認して判断をお願いします。すべてにチェックが付けばPublic化可、1つでも引っかかるなら「条件付き可」または「不可」 として、理由をコメントに残してください。
公開される内容の確認
-
members/配下のファイルに、本名・所属先の非公開情報・連絡先などが含まれていない -
docs/exercises/conflict-training/に、社内固有の情報(内部URL、Slack、顧客名、非公開の運用ルール)が含まれていない - Commit履歴(
git log -p)に、途中で消したSecretや個人情報が残っていない - 既存のIssue / Pull Request(Set CODEOWNERS to actual maintainers #1〜)のやりとりを公開して問題ない
- CODEOWNERS などに個人のGitHubアカウント名が載ることについて、本人たちの合意が取れている
- Organization名(Lumos / Lusy)と、この研修の存在自体を公開して差し支えない
Public化に伴って必要になる作業の確認
- LICENSE を置くかどうかを決める(教材を公開する以上、無しだと第三者からの扱いが曖昧になります)
- Public化後にBranch Protectionを設定する(設定内容は docs/admin-setup.md に記載済み)
- Branch Protection有効化に伴う教材側の記述の巻き戻し
- README / docs/02-rules.md の「保護されていない」旨の注意書きを削除する
- exercises/01-clone-to-pr.md の Step 11.5(直接Pushが拒否されることの確認)を復活させる
- 今後の受講者に「このRepositoryはPublicである」と事前に周知する導線を用意する
判断
- 判断をこのIssueにコメントした(
Public化可/条件付き可(条件を明記)/不可(理由を明記))
振り返り(研修の最後に記入)
研修部分についての気づきも、あわせて残してもらえると助かります。
- 一番つまずいたところ:
- 説明が分かりにくかったページ:
- まだ不安な操作:
参考
- 全体の流れ: README
- 管理者向け設定: docs/admin-setup.md
- 先行して研修を実施したパイロット: Git/GitHub 研修: Shion1305(パイロット / 教材レビュー) #2 / Git/GitHub 研修: Rika-0114(パイロット / 教材レビュー) #4(教材への指摘と、その反映内容が読めます)
Activity
tomoyahiroe commentedon Sep 1, 2026
@Tivo0921
このリポジトリには基本的にpublicにしちゃいけないような情報は含まれてなかったです。一部committerのメールアドレスがコミットに含まれていますが、正直気にするほどではないと思う。
一方で、研修用リポジトリにBranch Protection する必要がどれくらいあるかは自分は正直わかりかねています...
tomoyahiroe commentedon Oct 24, 2026
Lusy に所属していないlumosメンバーのGitHub 練習用にpublic 化します。