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
Ryosuke Uchiyama
January 20, 2020
Programming
120
0
Share
Gitでソースコード管理
Ryosuke Uchiyama
January 20, 2020
More Decks by Ryosuke Uchiyama
See All by Ryosuke Uchiyama
AWSでサーバレスな書籍管理アプリを作る
step63r
0
50
PythonでSlack通知botを作る
step63r
0
19
ChatGPT実践
step63r
1
370
IoT実践! 行先予定表を電子ペーパーで作る
step63r
0
22
React x Socket.ioで人狼サーバを作る 第一章 フロントエンド実装
step63r
0
19
深層強化学習で東方AI 第一章 DQNの基本
step63r
0
290
Build 2021 プレイバック
step63r
0
36
WPFで実践アプリ開発! 第四章 機能の実装 Part 2
step63r
0
50
WPFで実践アプリ開発! 第三章 機能の実装 Part 1
step63r
0
120
Other Decks in Programming
See All in Programming
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
200
iOS26時代の新規アプリ開発
yuukiw00w
0
230
AI開発を加速するためにテスト戦略を言語化した
yoshihiro_shu
0
100
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
180
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.1k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
200
inferと仲良くなる10分間
ryokatsuse
1
300
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
2.5k
JavaDoc 再入門
nagise
0
230
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
160
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
370
Abbi's Birthday
coloredviolet
2
7.8k
4 Signs Your Business is Dying
shpigford
187
22k
Site-Speed That Sticks
csswizardry
13
1.2k
A Tale of Four Properties
chriscoyier
163
24k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
830
Docker and Python
trallard
47
3.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
The agentic SEO stack - context over prompts
schlessera
0
790
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