More Related Content
PDF
PDF
PDF
PDF
ノンプログラマでも今日から使える「Git」でバージョン管理 PDF
PDF
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送 PPTX
PDF
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive What's hot
PDF
PDF
Dockerfileを改善するためのBest Practice 2019年版 PDF
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021 PDF
PDF
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan PPTX
PDF
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話 PDF
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring) PDF
PDF
レコメンドアルゴリズムの基本と周辺知識と実装方法 PPTX
PDF
Javaはどのように動くのか~スライドでわかるJVMの仕組み PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話 PDF
PDF
PDF
Dockerfile を書くためのベストプラクティス解説編 PDF
PDF
Similar to Git超入門_座学編.pdf
PDF
PPTX
KEY
PDF
PPTX
今さら聞けない人のためのGit超入門 2020/12/19 PDF
KEY
PPTX
今さら聞けない人のためのGit超入門 2019/11/21 PDF
PPTX
PPTX
PPTX
PPTX
PDF
PDF
PPTX
今さら聞けない人のためのGit超入門 GitLab 14対応版 KEY
PDF
2ヶ月前にgitを始めた私からこれから始める皆さんへ PDF
PDF
(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。 Git超入門_座学編.pdf
- 1.
- 2.
2
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
自己紹介
村田 憲昭
北海道北斗市
スノーボード、登山、グルメ、猫
カスタマーサクセス
DX人材育成/教育(IT全般)
スクラムマスター
半導体アプリエンジニア
某コンビニのエンジニア
名前
生息地
趣味
経歴
- 3.
3
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
免責事項
本資料に含まれる情報は可能な限り正確を期しておりますが、
記載された内容に関して、日本アイ・ビー・エム株式会社が
何ら保証するものではありません。
従って、本資料の情報の利用は使用者の責任において
為されるものであり、資料の内容によって受けた
如何なる被害に関しても一切の補償をするものではありません。
- 4.
- 5.
5
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
- 6.
6
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
- 7.
7
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
バージョン管理システムとは
ファイルに対して
「いつ」 「誰が」「何を変更したか」
というような情報を記録することで、
過去のある時点の状態を「復元」したり
変更内容の「差分」を表示できるように
「バージョン」を付けて管理するシステム
- 8.
8
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
バージョン管理システムとは
バージョン管理しない場合のファイル管理は・・・
最新のファイル
はどれだっけ? プレゼン.pptx
あ、上書き
しちゃった・・
- 9.
9
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
バージョン管理システムとは
バージョン管理すると・・・
差分が一目で
わかる!
プレゼン.pptx
警告出たので
いま上書きでき
ないね!
以前の状態に
戻せる!
誰が、いつ、どのファイル
を変更したか一目瞭然
- 10.
10
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 . Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
- 11.
11
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Gitとは・・・
・リーナス・トーバルズが開発
・Linuxカーネル開発時に誕生
・分散バージョン管理システム
"File:LinuxCon Europe Linus Torvalds 03 (cropped).jpg" by Krd (photo)Von Sprat (crop/extraction) is licensed under CC
BY-SA 4.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/4.0?ref=openverse.
・大規模プロジェクト向き
- 12.
12
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Git以外の中央集中型バージョン管理システム
➀取得
➂反映
➁変更
リモート
リポジトリ
- 13.
13
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Gitなどの分散型バージョン管理システム
リモート
リポジトリ
➁変更
ローカル
リポジトリ
ローカル
リポジトリ
➀取得
➂反映
Githubなど
- 14.
14
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Git以外の中央集中型バージョン管理システム
・オフラインでは履歴の照会ができない
・自分の編集が他のメンバーへ影響を与える
→編集中は他の人は同じファイルを編集できない
・リモートリポジトリが消滅すると復旧できない
- 15.
15
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Gitなどの分散型バージョン管理システム
・自分の編集が他のメンバーへ影響を与えない
→編集中でも他の人は同じファイルを編集できる
・オフラインでも履歴の照会ができる
・リモートリポジトリが消滅しても復旧できる
- 16.
16
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
・ソースコードの
ホスティングサービス
・クリス・ワンストラスらが開発
・他にもGitLab、BitBucket
・SNS、IDE、CI/CD・・・
Git、GitHubとは
GitHubとは・・・
"Gotham Ruby Conference 2008" by sd is licensed under CC BY-NC-SA 2.0. To view a copy of this
license, visit https://creativecommons.org/licenses/by-nc-sa/2.0/?ref=openverse.
- 17.
17
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
リポジトリいろいろ1(OSS系)
https://github.com/nodejs/node
- 18.
18
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
https://github.com/trekhleb/javascript-algorithms
リポジトリいろいろ2(サンプル系)
- 19.
19
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
https://github.com/aws-amplify-jp/awesome-aws-amplify-ja
リポジトリいろいろ3(まとめ系)
- 20.
20
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
Git、GitHubとは
https://github.com/IBM/japan-technology
IBMも公開してます
- 21.
21
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
- 22.
22
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
リモート
リポジトリ
変更
ローカル
リポジトリ
ローカル
リポジトリ
取得
Githubなど
(おさらい)Gitなどの分散型バージョン管理システム
反映
Git全体像
- 23.
23
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
概要図と登場人物(作業場所や保存場所)
Githubなど
Git全体像
作業場所 更新準備
ローカル
保存場所
リモート
保存場所
- 24.
24
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
- 25.
25
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
ローカルリポジトリ作成
status
Githubなど
Gitコマンドの理解(コミット、initなど)
- 26.
26
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
init、 add、status、commit
init ・・・ ローカルリポジトリを作成する
add ・・・ ファイルをインデックスに追加する
status ・・・ ワークツリーの状況を表示する
commit ・・・ インデックスにあるファイルを
ローカルリポジトリに追加する
Gitコマンドの理解(コミット、initなど)
- 27.
27
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
- 28.
28
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
ローカルリポジトリ作成
status
branch
merge
checkout
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
Githubなど
- 29.
29
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
ブランチ
A B C
H
Z
リリース
履歴
バグ
履歴
機能追加
履歴
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
- 30.
30
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
マージ
C
H
D
J
Index.html
Index.html
Index.html
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
- 31.
- 32.
32
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
- 33.
33
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
push
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
clone
ローカルリポジトリ作成
status
branch
merge
checkout
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
pull/fetch
Githubなど
- 34.
34
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
プッシュ
ローカルリポジトリにある対象データを、リモートリポジトリにアップロードすること
push
ローカル
リポジトリ
リモート
リポジトリ
Githubな
ど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
- 35.
35
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
クローン
リモートリポジトリにある情報を、ローカルリポジトリにまるごとコピーすること
(同時にローカルリポジトリも作成)
clone
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
- 36.
36
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
フェッチ
リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化すること
fetch
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
- 37.
37
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
プル
リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化して、
手元のソースとマージすること(fetch+merge)
pull
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
- 38.
38
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(ブランチ戦略、プルリクエスト)、デモ
- 39.
39
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
ブランチ戦略
git-flow
master(main)
develop
feature
release
hotfix
プロダクトとしてリリースする用のブランチ。リリースしたらタグ付けする。
リリース後の緊急対応(クリティカルなバグフィックスなど)用。
開発用ブランチ。コードが安定し、リリース準備ができたらreleaseへマージ
する。
機能の追加用。developから分岐し、developにマージする。
プロダクトリリースの準備用。
リリース予定の機能やバグフィックスが反映された状態のdevelopから分岐
する。
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
- 40.
40
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
ブランチ戦略(樹形図)
master(main)
develop
feature
release
hotfix
Tag
Ver0.1
Tag
Ver1.0
Tag
Ver2.0
Tag
Ver2.1
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
- 41.
41
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
プルリクエスト
コードなどを追加・修正した際、ブランチへの反映を他の開発者に依頼する機能
プルリクエスト マージ
レビュー担当
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
- 42.
- 43.
43
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
デモ(既存PJのリポジトリpullして、ファイル修正)
Github
➀プル
➁ファイル修正
➂状態確認
➃
インデックス
に追加
⑤
コミット
⑥
プッシュ
⑦プルリクエスト
⑧プルリクエスト承認
(マージ)
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
- 44.
- 45.
- 46.
46
Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
まとめ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体とコマンドの対応
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(ブランチ戦略、プルリクエスト)
Git公式ドキュメントはぜひご覧ください!
https://git-scm.com/book/ja/v2
- 47.
- 48.
- 49.