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
Gitでソースコード管理
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryosuke Uchiyama
January 20, 2020
Programming
0
110
Gitでソースコード管理
Ryosuke Uchiyama
January 20, 2020
Tweet
Share
More Decks by Ryosuke Uchiyama
See All by Ryosuke Uchiyama
AWSでサーバレスな書籍管理アプリを作る
step63r
0
36
PythonでSlack通知botを作る
step63r
0
10
ChatGPT実践
step63r
1
340
IoT実践! 行先予定表を電子ペーパーで作る
step63r
0
12
React x Socket.ioで人狼サーバを作る 第一章 フロントエンド実装
step63r
0
12
深層強化学習で東方AI 第一章 DQNの基本
step63r
0
250
Build 2021 プレイバック
step63r
0
31
WPFで実践アプリ開発! 第四章 機能の実装 Part 2
step63r
0
43
WPFで実践アプリ開発! 第三章 機能の実装 Part 1
step63r
0
110
Other Decks in Programming
See All in Programming
2026年 エンジニアリング自己学習法
yumechi
0
130
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
560
CSC307 Lecture 06
javiergs
PRO
0
680
ぼくの開発環境2026
yuzneri
0
220
Oxlint JS plugins
kazupon
1
930
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
Oxlintはいいぞ
yug1224
5
1.3k
SourceGeneratorのススメ
htkym
0
190
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
CSC307 Lecture 03
javiergs
PRO
1
490
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
今から始めるClaude Code超入門
448jp
8
8.7k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
HDC tutorial
michielstock
1
380
Designing for Performance
lara
610
70k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
How to Talk to Developers About Accessibility
jct
2
130
Become a Pro
speakerdeck
PRO
31
5.8k
Transcript
Gitでソースコード管理 Ryosuke Uchiyama
はじめに
None
進捗通知 ストーリー追加 優先順位更新 プロジェクトリーダー 開発チーム 進捗確認 進捗更新 成果物更新 テスト・ビルド デプロイ結果通知
チケット作成 テスト・ビルド依頼 テスト・ビルド デプロイ結果通知 デプロイ
本資料のゴール • Gitとは何かが分かる • ローカルリポジトリを作成できる • 変更をローカルリポジトリにコミットできる • ローカルリポジトリの変更をリモートリポジトリにプッシュできる •
リモートリポジトリの変更をローカルリポジトリにプルできる • プルリクベース開発が何かが分かる
Gitとは
Wikipediaの解説 Git(ギット[2][3][4])は、プログラムのソースコードなどの変更履歴を記録・追跡するための分 散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・ トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。Linuxカーネ ルのような巨大プロジェクトにも対応できるように、動作速度に重点が置かれている。現在のメン テナンスは濱野純 (英語: Junio C Hamano)
が担当している。 Gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られ る。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできな い環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散 型」と呼ばれる理由である。
Gitとはバージョン管理システムである
バージョン管理システムがないとどうなるか
Gitによるバージョン管理
コミットという単位で変更を管理する 今ココ! 9/1 Aさん:初版作成 9/3 Cさん:◦◦について追記 9/7 Bさん:△△を修正 コミット
全てのPCが完全な履歴を保持している リモートリポジトリ ローカルリポジトリ
リポジトリは複数の履歴の流れを持てる master update bugfix ブランチ
ローカルリポジトリを作成する クローン (clone) $ git clone https://git.minatoproject.com/tsubamesoftware/miyanagipj.git
変更をローカルにコミットする コミット (commit) $ git add –A $ git commit
–m "◦◦を作成"
変更をリモートにプッシュする プッシュ (push) $ git push [–u origin master]
リモートの変更をプルする プル (pull) $ git pull [origin master]
Gitがもっと便利になるプルリク
プルリク(Pull Request)とは • Gitをホスティングするサービスに付随しているコードレビュー機能 • 他者がフォークしたブランチを差分を見てpullすることからこう呼ばれる • GitHubではプルリクエスト、GitLabではマージリクエストという
プルリクベース開発の流れ フォーク
プルリクベース開発の流れ クローン
プルリクベース開発の流れ 作業用ブランチ作成 別の人が更新してたりする
プルリクベース開発の流れ プッシュ ※厳密にはここでAさんのリモートをpullするため競合が発生します
プルリクベース開発の流れ プルリクエスト
プルリクベース開発の流れ 新しいコミット マージ
プルリクエストのメリット • レビュー物件を一覧化できる • Gitの画面上で差分を比較でき、レビュー承認もボタン押下でできる • コード行単位でコメントのやり取りができる • Redmine、Trac、Slack、Jenkins等のツールと連携できる •
マスタリポジトリのmasterブランチを保護することで「レビューを通していな いコードが本番環境に入り込む」が未然に防げる
Demo