Tech Dojo
いまからでも遅くない!
Git超入門(座学編)
2022年12月09日
IBM Developer
18時開始予定です!
マイクをオフにして
お待ちください。
2
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
自己紹介
村田 憲昭
北海道北斗市
スノーボード、登山、グルメ、猫
カスタマーサクセス
DX人材育成/教育(IT全般)
スクラムマスター
半導体アプリエンジニア
某コンビニのエンジニア
名前
生息地
趣味
経歴
3
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
免責事項
本資料に含まれる情報は可能な限り正確を期しておりますが、
記載された内容に関して、日本アイ・ビー・エム株式会社が
何ら保証するものではありません。
従って、本資料の情報の利用は使用者の責任において
為されるものであり、資料の内容によって受けた
如何なる被害に関しても一切の補償をするものではありません。
4
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
研修のゴール
Gitの基本的な概念がわかる
5
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
6
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
バージョン管理システムとは
ファイルに対して
「いつ」 「誰が」「何を変更したか」
というような情報を記録することで、
過去のある時点の状態を「復元」したり
変更内容の「差分」を表示できるように
「バージョン」を付けて管理するシステム
8
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
バージョン管理システムとは
バージョン管理しない場合のファイル管理は・・・
最新のファイル
はどれだっけ? プレゼン.pptx
あ、上書き
しちゃった・・
9
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
バージョン管理システムとは
バージョン管理すると・・・
差分が一目で
わかる!
プレゼン.pptx
警告出たので
いま上書きでき
ないね!
以前の状態に
戻せる!
誰が、いつ、どのファイル
を変更したか一目瞭然
10
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 . Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
11
Customer Success, IBM Technology, 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
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Git以外の中央集中型バージョン管理システム
➀取得
➂反映
➁変更
リモート
リポジトリ
13
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Gitなどの分散型バージョン管理システム
リモート
リポジトリ
➁変更
ローカル
リポジトリ
ローカル
リポジトリ
➀取得
➂反映
Githubなど
14
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Git以外の中央集中型バージョン管理システム
・オフラインでは履歴の照会ができない
・自分の編集が他のメンバーへ影響を与える
→編集中は他の人は同じファイルを編集できない
・リモートリポジトリが消滅すると復旧できない
15
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
Gitなどの分散型バージョン管理システム
・自分の編集が他のメンバーへ影響を与えない
→編集中でも他の人は同じファイルを編集できる
・オフラインでも履歴の照会ができる
・リモートリポジトリが消滅しても復旧できる
16
Customer Success, IBM Technology, 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
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
リポジトリいろいろ1(OSS系)
https://github.com/nodejs/node
18
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
https://github.com/trekhleb/javascript-algorithms
リポジトリいろいろ2(サンプル系)
19
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
https://github.com/aws-amplify-jp/awesome-aws-amplify-ja
リポジトリいろいろ3(まとめ系)
20
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Git、GitHubとは
https://github.com/IBM/japan-technology
IBMも公開してます
21
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
22
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
リモート
リポジトリ
変更
ローカル
リポジトリ
ローカル
リポジトリ
取得
Githubなど
(おさらい)Gitなどの分散型バージョン管理システム
反映
Git全体像
23
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
概要図と登場人物(作業場所や保存場所)
Githubなど
Git全体像
作業場所 更新準備
ローカル
保存場所
リモート
保存場所
24
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
25
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
ローカルリポジトリ作成
status
Githubなど
Gitコマンドの理解(コミット、initなど)
26
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
init、 add、status、commit
init ・・・ ローカルリポジトリを作成する
add ・・・ ファイルをインデックスに追加する
status ・・・ ワークツリーの状況を表示する
commit ・・・ インデックスにあるファイルを
ローカルリポジトリに追加する
Gitコマンドの理解(コミット、initなど)
27
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
28
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
ローカルリポジトリ作成
status
branch
merge
checkout
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
Githubなど
29
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
ブランチ
A B C
H
Z
リリース
履歴
バグ
履歴
機能追加
履歴
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
30
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
マージ
C
H
D
J
Index.html
Index.html
Index.html
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
31
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
コンフリクト
B C
H
D
J
コンフリクト
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
32
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
33
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
push
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
clone
ローカルリポジトリ作成
status
branch
merge
checkout
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
pull/fetch
Githubなど
34
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
プッシュ
ローカルリポジトリにある対象データを、リモートリポジトリにアップロードすること
push
ローカル
リポジトリ
リモート
リポジトリ
Githubな
ど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
35
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
クローン
リモートリポジトリにある情報を、ローカルリポジトリにまるごとコピーすること
(同時にローカルリポジトリも作成)
clone
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
36
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
フェッチ
リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化すること
fetch
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
37
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
プル
リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化して、
手元のソースとマージすること(fetch+merge)
pull
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
38
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
本日のアジェンダ
1 .バージョン管理システムとは
2 .Git、GitHubとは
3 .Git全体像
4 .Gitコマンドの理解(コミット、initなど)
5 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
6 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
7 .Gitコマンドの理解(ブランチ戦略、プルリクエスト)、デモ
39
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
ブランチ戦略
git-flow
master(main)
develop
feature
release
hotfix
プロダクトとしてリリースする用のブランチ。リリースしたらタグ付けする。
リリース後の緊急対応(クリティカルなバグフィックスなど)用。
開発用ブランチ。コードが安定し、リリース準備ができたらreleaseへマージ
する。
機能の追加用。developから分岐し、developにマージする。
プロダクトリリースの準備用。
リリース予定の機能やバグフィックスが反映された状態のdevelopから分岐
する。
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
40
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
ブランチ戦略(樹形図)
master(main)
develop
feature
release
hotfix
Tag
Ver0.1
Tag
Ver1.0
Tag
Ver2.0
Tag
Ver2.1
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
41
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
プルリクエスト
コードなどを追加・修正した際、ブランチへの反映を他の開発者に依頼する機能
プルリクエスト マージ
レビュー担当
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
42
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
デモ
43
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
デモ(既存PJのリポジトリpullして、ファイル修正)
Github
➀プル
➁ファイル修正
➂状態確認
➃
インデックス
に追加
⑤
コミット
⑥
プッシュ
⑦プルリクエスト
⑧プルリクエスト承認
(マージ)
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
Tech Dojo
いまからでも遅くない!
Git超入門(ハンズオン編)
こうご期待!!
IBM Developer
次回予告!!
Tech Dojo
いまからでも遅くない!
Git超入門(ハンズオン編)
こうご期待!!
IBM Developer
46
Customer Success, IBM Technology, 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
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
いろいろTry&Errorしながら
試してみてください。
ありがとうございました
48
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
49
Customer Success, IBM Technology, Japan / © 2022 IBM Corporation
QA
タイム

Git超入門_座学編.pdf

  • 1.
  • 2.
    2 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation 自己紹介 村田 憲昭 北海道北斗市 スノーボード、登山、グルメ、猫 カスタマーサクセス DX人材育成/教育(IT全般) スクラムマスター 半導体アプリエンジニア 某コンビニのエンジニア 名前 生息地 趣味 経歴
  • 3.
    3 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation 免責事項 本資料に含まれる情報は可能な限り正確を期しておりますが、 記載された内容に関して、日本アイ・ビー・エム株式会社が 何ら保証するものではありません。 従って、本資料の情報の利用は使用者の責任において 為されるものであり、資料の内容によって受けた 如何なる被害に関しても一切の補償をするものではありません。
  • 4.
    4 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation 研修のゴール Gitの基本的な概念がわかる
  • 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.
    31 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation コンフリクト B C H D J コンフリクト Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 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.
    42 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation Gitコマンドの理解(ブランチ戦略、プルリクエスト) デモ
  • 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.
    47 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation いろいろTry&Errorしながら 試してみてください。 ありがとうございました
  • 48.
    48 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation
  • 49.
    49 Customer Success, IBMTechnology, Japan / © 2022 IBM Corporation QA タイム