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
0
99
Gitでソースコード管理
Ryosuke Uchiyama
January 20, 2020
Tweet
Share
More Decks by Ryosuke Uchiyama
See All by Ryosuke Uchiyama
ChatGPT実践
step63r
1
270
深層強化学習で東方AI 第一章 DQNの基本
step63r
0
120
Build 2021 プレイバック
step63r
0
27
WPFで実践アプリ開発! 第四章 機能の実装 Part 2
step63r
0
36
WPFで実践アプリ開発! 第三章 機能の実装 Part 1
step63r
0
98
WPFで実践アプリ開発! 第二章 UI
step63r
0
120
WPFで実践アプリ開発! 第一章 Windowsアプリの歴史
step63r
0
310
数独ではじめるアルゴリズム 第三章 OCR
step63r
0
78
数独ではじめるアルゴリズム 第二章 UI
step63r
0
31
Other Decks in Programming
See All in Programming
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
360
Immutable ActiveRecord
megane42
0
130
Honoとフロントエンドの 型安全性について
yodaka
4
250
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
220
『品質』という言葉が嫌いな理由
korimu
0
160
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
230
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
11
1.8k
最近のVS Codeで気になるニュース 2025/01
74th
1
250
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
730
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
300
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
480
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
400
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Adopting Sorbet at Scale
ufuk
74
9.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Large-scale JavaScript Application Architecture
addyosmani
510
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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