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
1
2.8k
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
「GitHub dockyardコミュニティ 竣工イベント!」でお話した資料です。
https://github-dockyard.connpass.com/event/289714/
Kazumi OHIRA
August 05, 2023
Tweet
Share
More Decks by Kazumi OHIRA
See All by Kazumi OHIRA
【再】#2 GitHub Copilot Enterprise&GitHub Actionsナレッジ オープニング資料
dzeyelid
0
140
GitHub最新情報キャッチアップ 2024年3月
dzeyelid
17
5.9k
GitHub dockyardコミュニティ 竣工イベント!オープニング資料
dzeyelid
0
330
GitHub最新情報キャッチアップ 2023年6月
dzeyelid
2
3.6k
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
dzeyelid
1
280
高さ比べじゃない、キャリアは歩んできた道
dzeyelid
0
630
GitHub Copilotとともに次の開発体験へ
dzeyelid
1
430
突如登場したAzure Developer CLIでなにができるのか?検証してみる
dzeyelid
0
160
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Container Apps
dzeyelid
0
240
Other Decks in Technology
See All in Technology
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
200
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
260
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
260
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
160
Agile Leadership Summit Keynote 2026
m_seki
1
640
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
470
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
460
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
The Invisible Side of Design
smashingmag
302
51k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Talk to Developers About Accessibility
jct
2
130
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
4 Signs Your Business is Dying
shpigford
187
22k
The Curious Case for Waylosing
cassininazir
0
240
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
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🍩.