Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
Search
Kazumi OHIRA
August 05, 2023
Technology
3.1k
1
Share
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
「GitHub dockyardコミュニティ 竣工イベント!」でお話した資料です。
https://github-dockyard.connpass.com/event/289714/
Kazumi OHIRA
August 05, 2023
More Decks by Kazumi OHIRA
See All by Kazumi OHIRA
【再】#2 GitHub Copilot Enterprise&GitHub Actionsナレッジ オープニング資料
dzeyelid
0
150
GitHub最新情報キャッチアップ 2024年3月
dzeyelid
17
6k
GitHub dockyardコミュニティ 竣工イベント!オープニング資料
dzeyelid
0
360
GitHub最新情報キャッチアップ 2023年6月
dzeyelid
2
3.7k
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
dzeyelid
1
300
高さ比べじゃない、キャリアは歩んできた道
dzeyelid
0
660
GitHub Copilotとともに次の開発体験へ
dzeyelid
1
460
突如登場したAzure Developer CLIでなにができるのか?検証してみる
dzeyelid
0
170
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Container Apps
dzeyelid
0
250
Other Decks in Technology
See All in Technology
Mastering Ruby Box
tagomoris
3
110
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
290
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
150
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
100
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
130
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
310
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
17
17k
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
160
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
190
Diagnosing performance problems without the guesswork
elenatanasoiu
0
130
先取りMaven4 ~16年ぶりのメジャーアップデート、その進化とは?~
ogiwarat
0
110
GoとSIMDとWasmの今。
askua
2
370
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
The Language of Interfaces
destraynor
162
26k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
180
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
300
WCS-LA-2024
lcolladotor
0
610
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
180
Done Done
chrislema
186
16k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
380
Amusing Abliteration
ianozsvald
1
190
Transcript
地味だけど劇的に便利になる リポジトリ設定あれこれ (と、Codespaces布教) GitHub dockyardコミュニティ 竣工イベント! https://github-dockyard.connpass.com/event/289714/
岩永かづみ / Kazumi IWANAGA • GitHub公認トレーナー • ZEN Architects 所属
• Microsoft MVP for Azure • 得意な領域 • Infrastructure as Code • GitHub Actions による自動化 • 技術コミュニティ • Code Polaris / Hack Everything. • @dz_ • @dzeyelid • @dzeyelid • dzeyelid
そのGitHubリポジトリは 真の力を発揮しているか?
親しんできたリポジトリ機能、 実はめっちゃ更新されているんですよ
リポジトリの使い勝手をグレードアップするぞ • リポジトリのSettingsのGeneralを見直す • Branch protection rulesとRepository rulesets • Dependabotで依存関係の脆弱性スキャンを導入する
• Secret scanningのpush protectionを知ってほしい*
リポジトリを越えたオススメ • GitHub CopilotとGitHub Copilot X • Codespacesの便利さを知ってもらいたい
まずは、 リポジトリSettingsのGeneralから👇
プルリクエストのマージをちょっと便利に プルリクエストのマージ方法を、制限することができる • 「マージ コミット」(git mergeで作られる)を許可する • プルリクエストに含まれるコミットを1コミットにまとめる • プルリクエストに含まれるコミットをrebaseでマージする
Squash mergingがおすすめ このとき設定されるコミットメッセージが、初期値 (Default message)だと「最初のコミットメッセージ」 が採用されて不便 Default to pull request
titleを指定することで、プル リクエストのタイトルがコミットメッセージに採用される • Squash = 押しつぶす • プルリクエストのコミットを1コミットにまとめて、マージする
プルリクエストを最新に保ちやすくする プルリクエストのbase branch(マージ先)に更新が ある場合に、更新するためのUIが有効になる
プルリクエストでブランチ更新が促される
プルリクエストのマージで作業ブランチ削除 プルリクエストがマージされたら、 作業ブランチを自動的に削除する
Branch protection rulesと Repository rulesets👇
Branch protection rules
Branch protection rules • 指定したブランチに対し、保護ルールを設定できる • force pushを禁止する • ブランチの削除を禁止する
• マージするには、必ずPull requestを要求する • Pull requestをマージするには、必ずApprovalを要求する、など • パブリックリポジトリ、またはGitHub Pro/Team/Enterprise Cloud契約下のプライベートリポジトリで利用できる • 参考: Check! GitHub Branch protection rulesの機能一覧
Repository rulesets
Repository rulesets • 突如登場し、7/24にGA🎉 • 参考: GitHub Repository Rules are
now generally available - The GitHub Blog • パブリックリポジトリ、またはGitHub Pro/Team/Enterprise Cloud契約下のプライベートリポジトリで利用できる • Branch protection rulesの後継、より柔軟な制御ができる • Branch protection rulesとの最大の違いは、Organizationレベルで指定 できること👏 • 参考: Check! GitHub Repository rulesetsとは?
手軽だけど強力なセキュリティ対策👇
Dependabot
Dependabot • リポジトリの依存関係をスキャンし、脆弱性を検出してくれる • スキャンの対象はデフォルトブランチ • すべてのリポジトリで無料で利用できる🎉 種類 説明 Dependabot
alerts 脆弱性が検出された場合に、通知する GitHub.comの「Security」タブで一覧、招待を確認できる Dependabot security updates Dependabot alertsによって検出された脆弱性の修正案について、プ ルリクエストを作成する Dependabot version updates 指定した対象のバージョンの更新について、プルリクエストを作成する Dependency review(※) デフォルトブランチにマージする前に検出したい場合に、GitHub ActionsのDependency reviewアクションを利用する ※GitHub Enterprise CloudのGitHub Advanced Securityライセンスが必要
Dependabotの有効化
Dependabot alertsの一覧
Dependabot alertsの詳細
Dependabot security updatesにより 発行されたプルリクエスト
Dependabot version updatesにより 発行されたプルリクエスト
Dependabot version updatesの設定 .github/dependabot.ymlに設定を書く
Secret scanningの push protection
Secret scanning • リポジトリのすべてのブランチ上の Git 履歴全体をスキャンし、シーク レットが検出されるとそのシークレットを提供するプロバイダへ通知す る • 通知を受けたプロバイダは対策を行う(無効化、利用者への通知など)
• パブリックリポジトリ、またはGitHub Enterprise CloudのGitHub Advanced Security(GHAS)ライセンスが適用されているプライ ベート/internalリポジトリで利用できる • リポジトリにプッシュする前に検出したい場合は、Push protectionを 利用する
Secret scanningの有効化
Secret scanningのPush protection • Gitでプッシュするとき、コミット内容にシークレットが含まれていたら 弾いてくれる🚨 • リポジトリにプッシュされる前に防ぐことができる! • 参考:
【GitHub】シークレット スキャンのプッシュ保護でシークレット の流出を固く防ぐ!
GitHub CopilotとGitHub Copilot X 🧑✈️
GitHub CopilotとGitHub Copilot X • GitHub Copilotは、AIによるコード補完 • GitHub Copilot
Xは、次に予定されているAIによる支援機能群 機能 説明 GitHub Copilot(現行) コード補完 GitHub Copilot X GitHub Copilot Chat チャット形式のAIによる支援 (OrganizationでPublic beta公開) GitHub Copilot X GitHub Copilot for Docs ドキュメントにフォーカスしたAIによる支援 GitHub Copilot X GitHub Copilot for Pull Requests プルリクエストにフォーカスしたAIによる支援 GitHub Copilot X GitHub Copilot for CLI CLIの利用をAIにより支援
Codespacesの便利さを知ってもらいたい 🔮
GitHub Codespacesのおすすめポイント • コンテナベースのリモート環境 • Dev containerでカスタマイズ • VS Codeの拡張機能のインストールを指定できる
• Pay as you go(稼働時間+ボリュームのストレージ利用量) • 無料枠あり(60h/core、1インスタンスを業後や週末に使うくらいなら十分) • あたかもローカルかのようにlocalhostに接続できる(Port forwarding) • イメージを事前にビルドしておくこともできる(prebuild)
Thank you so much🍩.