[{"data":1,"prerenderedAt":350},["ShallowReactive",2],{"content-/github-rulesets-guide":3,"all-pages-for-dir":348,"og-image-/github-rulesets-guide":349},{"id":4,"title":5,"body":6,"category":333,"description":334,"extension":335,"meta":336,"navigation":337,"ogImage":333,"path":338,"project_name":333,"published":339,"publishedAt":340,"seo":341,"stem":342,"tags":343,"todo":333,"unpublished":339,"updatedAt":340,"__hash__":347},"pages/2025-12/2025-12-18/github-rulesets-guide.md","GitHub Rulesets（ルールセット）とは",{"type":7,"value":8,"toc":316},"minimark",[9,13,21,24,27,33,39,42,107,110,114,153,157,215,218,221,259,262,272,275,288,291],[10,11,12],"h2",{"id":12},"概要",[14,15,16,20],"p",{},[17,18,19],"strong",{},"Rulesets","は、リポジトリのブランチやタグに対する保護ルールを設定するGitHubの機能である。主にチーム開発で使用する。",[10,22,23],{"id":23},"表示されたメッセージ",[14,25,26],{},"GitHubのSettings > Rulesページで以下のメッセージが表示された：",[28,29,30],"blockquote",{},[14,31,32],{},"Protect your most important branches\nRulesets define whether collaborators can delete or force push and set requirements for any pushes, such as passing status checks or a linear commit history.\nYour rulesets won't be enforced on this private repository until you move to GitHub Team organization account.",[14,34,35,38],{},[17,36,37],{},"意味",": プライベートリポジトリでRulesetsを有効にするにはGitHub Teamプラン（有料）が必要。",[10,40,41],{"id":41},"利用可能なプラン",[43,44,45,61],"table",{},[46,47,48],"thead",{},[49,50,51,55,58],"tr",{},[52,53,54],"th",{},"プラン",[52,56,57],{},"パブリックリポジトリ",[52,59,60],{},"プライベートリポジトリ",[62,63,64,78,89,98],"tbody",{},[49,65,66,70,73],{},[67,68,69],"td",{},"GitHub Free",[67,71,72],{},"利用可能",[67,74,75],{},[17,76,77],{},"不可",[49,79,80,83,85],{},[67,81,82],{},"GitHub Pro",[67,84,72],{},[67,86,87],{},[17,88,77],{},[49,90,91,94,96],{},[67,92,93],{},"GitHub Team",[67,95,72],{},[67,97,72],{},[49,99,100,103,105],{},[67,101,102],{},"GitHub Enterprise",[67,104,72],{},[67,106,72],{},[10,108,109],{"id":109},"主な機能",[111,112,113],"h3",{"id":113},"ブランチ保護",[115,116,117,129,135,141,147],"ul",{},[118,119,120,123,124,128],"li",{},[17,121,122],{},"force push禁止"," - ",[125,126,127],"code",{},"git push --force","で履歴を壊すのを防ぐ",[118,130,131,134],{},[17,132,133],{},"ブランチ削除禁止"," - mainブランチの誤削除を防ぐ",[118,136,137,140],{},[17,138,139],{},"レビュー必須化"," - PRにレビュー承認がないとマージできない",[118,142,143,146],{},[17,144,145],{},"ステータスチェック必須"," - CIテストが通らないとマージできない",[118,148,149,152],{},[17,150,151],{},"コミット署名必須"," - GPG署名されたコミットのみ許可",[111,154,156],{"id":155},"branch-protection-rulesとの違い","Branch Protection Rulesとの違い",[43,158,159,171],{},[46,160,161],{},[49,162,163,166,169],{},[52,164,165],{},"機能",[52,167,168],{},"Branch Protection Rules",[52,170,19],{},[62,172,173,183,194,204],{},[49,174,175,178,180],{},[67,176,177],{},"複数ルールの同時適用",[67,179,77],{},[67,181,182],{},"可能（競合は最も制限的なものが適用）",[49,184,185,188,191],{},[67,186,187],{},"有効/無効の切り替え",[67,189,190],{},"ルール削除が必要",[67,192,193],{},"ステータス変更のみでOK",[49,195,196,199,201],{},[67,197,198],{},"組織全体への適用",[67,200,77],{},[67,202,203],{},"可能",[49,205,206,209,212],{},[67,207,208],{},"ルールの可視性",[67,210,211],{},"管理者のみ",[67,213,214],{},"読み取り権限があれば誰でも確認可能",[10,216,217],{"id":217},"個人開発では不要",[111,219,220],{"id":220},"判断基準",[43,222,223,233],{},[46,224,225],{},[49,226,227,230],{},[52,228,229],{},"シナリオ",[52,231,232],{},"Rulesets必要？",[62,234,235,243,251],{},[49,236,237,240],{},[67,238,239],{},"個人で1人開発",[67,241,242],{},"不要",[49,244,245,248],{},[67,246,247],{},"チームで複数人開発",[67,249,250],{},"あると便利",[49,252,253,256],{},[67,254,255],{},"OSS（複数コントリビューター）",[67,257,258],{},"推奨",[111,260,261],{"id":261},"理由",[263,264,269],"pre",{"className":265,"code":267,"language":268},[266],"language-text","チーム開発の場合:\n  Aさん → mainに直接push → Rulesetsでブロック\n  Bさん → force push → Rulesetsでブロック\n\n個人開発の場合:\n  自分 → 何でもできる → ルール設定しても自分を縛るだけ\n","text",[125,270,267],{"__ignoreMap":271},"",[10,273,274],{"id":274},"結論",[115,276,277,282,285],{},[118,278,279],{},[17,280,281],{},"個人リポジトリでは設定不要",[118,283,284],{},"GitHubが新機能をプロモーションしているだけ",[118,286,287],{},"将来チームで開発することになったら検討すれば十分",[10,289,290],{"id":290},"参考リンク",[115,292,293,302,309],{},[118,294,295],{},[296,297,301],"a",{"href":298,"rel":299},"https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets",[300],"nofollow","About rulesets - GitHub Docs",[118,303,304],{},[296,305,308],{"href":306,"rel":307},"https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository",[300],"Creating rulesets for a repository - GitHub Docs",[118,310,311],{},[296,312,315],{"href":313,"rel":314},"https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets",[300],"Available rules for rulesets - GitHub Docs",{"title":271,"searchDepth":317,"depth":317,"links":318},2,[319,320,321,322,327,331,332],{"id":12,"depth":317,"text":12},{"id":23,"depth":317,"text":23},{"id":41,"depth":317,"text":41},{"id":109,"depth":317,"text":109,"children":323},[324,326],{"id":113,"depth":325,"text":113},3,{"id":155,"depth":325,"text":156},{"id":217,"depth":317,"text":217,"children":328},[329,330],{"id":220,"depth":325,"text":220},{"id":261,"depth":325,"text":261},{"id":274,"depth":317,"text":274},{"id":290,"depth":317,"text":290},null,"GitHubのブランチ保護機能Rulesetsの概要と、個人開発での必要性について","md",{},true,"/github-rulesets-guide",false,"2025-12-18T00:00:00.000Z",{"title":5,"description":334},"2025-12/2025-12-18/github-rulesets-guide",[344,345,346],"GitHub","Git","チーム開発","QBKHjHdPbdJ-u4sMF_KQYIK7YkJKDZg-lsWiCfHPUKY",[],"https://log.eurekapu.com/og/blog/github-rulesets-guide.png?v=2025-12-18T00%3A00%3A00.000Z&title=GitHub%20Rulesets%EF%BC%88%E3%83%AB%E3%83%BC%E3%83%AB%E3%82%BB%E3%83%83%E3%83%88%EF%BC%89%E3%81%A8%E3%81%AF&author=Kei%20Komatsu&sig=07ed149cbe01f061",1782528770180]