SlideShare uma empresa Scribd logo
1 de 90
Baixar para ler offline
Tech Dojo
いまからでも遅くない!
Git超入門(ハンズオン編)
2023年1月13日
IBM Developer
18時3分開始予定です!
マイクをオフにして
お待ちください。
2
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
自己紹介
村田 憲昭
北海道北斗市
スノーボード、登山、グルメ、猫
カスタマーサクセス
DX人材育成/教育(IT全般)
スクラムマスター
半導体アプリエンジニア
某コンビニのエンジニア
名前
生息地
趣味
経歴
3
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
免責事項
本資料に含まれる情報は可能な限り正確を期しておりますが、
記載された内容に関して、日本アイ・ビー・エム株式会社が
何ら保証するものではありません。
従って、本資料の情報の利用は使用者の責任において
為されるものであり、資料の内容によって受けた
如何なる被害に関しても一切の補償をするものではありません。
4
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
今回のゴール
Gitの基本的な操作がわかる
5
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
前提条件
➀基本的なWindows/Linuxコマンドの理解
(cd、dir、mkdir等)
➁2022年12月開催の「Git超入門 座学編」の理解
6
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
dir ・・・ディレクトリの中身を表示する
cd ・・・任意のディレクトリに移動する
mkdir(md) ・・・ディレクトリを作成する
del ・・・ファイルを削除する
rmdir(rd) ・・・ディレクトリを削除する
notepad(vimなど)・・・ファイルを編集する
➀基本的なWindowsコマンド
前提条件
7
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ls ・・・ディレクトリの中身を表示する
cd ・・・任意のディレクトリに移動する
mkdir ・・・ディレクトリを作成する
rm ・・・ファイルを削除する
rm –r ・・・ディレクトリを削除する
vim ・・・ファイルを編集する
➀基本的なLinuxコマンド
前提条件
8
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
https://www.slideshare.net/nmzstation/gitpdf-254864927
➁2022年12月開催の「Git超入門 座学編」の理解
前提条件
9
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
本日のアジェンダ
1 .(おさらい)バージョン管理システムとは
2 . (おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7 .QAタイム
10
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
バージョン管理システムとは
ファイルに対して
「いつ」 「誰が」「何を変更したか」
というような情報を記録することで、
過去のある時点の状態を「復元」したり
変更内容の「差分」を表示できるように
「バージョン」を付けて管理するシステム
11
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
本日のアジェンダ
1 .(おさらい)バージョン管理システムとは
2 . (おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7 .QAタイム
12
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
リモート
リポジトリ
変更
ローカル
リポジトリ
ローカル
リポジトリ
取得
Githubなど
Gitなどの分散型バージョン管理システム
反映
Git全体像
13
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
push
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
clone
ローカルリポジトリ作成
status
branch
merge
checkout
pull/fetch
Githubなど
Git全体像
14
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
本日のアジェンダ
1 .(おさらい)バージョン管理システムとは
2 . (おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7 .QAタイム
15
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
push
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
clone
ローカルリポジトリ作成
status
branch
merge
checkout
pull/fetch
Githubなど
Gitコマンドの理解(コミット、initなど)
16
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
init、 add、status、commit
init ・・・ ローカルリポジトリを作成する
add ・・・ ファイルをインデックスに追加する
status ・・・ ワークツリーの状況を表示する
commit ・・・ インデックスにあるファイルを
ローカルリポジトリに追加する
Gitコマンドの理解(コミット、initなど)
17
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
デモ(みんなで作業)
Gitコマンドの理解(コミット、initなど)
18
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ローカルリポジトリへcommit
$ mkdir samplepj
$ cd samplepj
$ git init
$ notepad Readme.txt
$ git status
$ git add –A
$ git status
$ git commit -m "my first commit"
Gitコマンドの理解(コミット、initなど)
19
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
本日のアジェンダ
1 .(おさらい)バージョン管理システムとは
2 . (おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7 .QAタイム
20
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
push
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
clone
ローカルリポジトリ作成
status
branch
merge
checkout
pull/fetch
Githubなど
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
21
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ
A B C
H
Z
リリース
履歴
バグ
履歴
機能追加
履歴
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
22
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
マージ
C
H
D
J
Index.html
Index.html
Index.html
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
23
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
コンフリクト
B C
H
D
J
コンフリクト
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
24
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
branch、merge、checkout
branch ・・・ ブランチを作成する/確認する
merge ・・・ ブランチを統合する
checkout ・・・ 作業ブランチを切り替える
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
25
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
デモ(みんなで作業)
ブランチ作ってマージ
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
26
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってマージ 1/2
$ git branch // 状況確認
$ git branch develop
$ notepad master.txt // あとで動作するので作成しておく
$ git add –A
$ git commit –m “master.txt commit”
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
27
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってマージ 2/2
$ git branch // 状況確認
$ git checkout develop
$ dir // master.txtがいないことを確認
$ notepad develop.txt
$ git add -A
$ git commit –m “develop.txt commit”
$ git checkout master
$ dir // develop.txtがいないことを確認
$ git merge develop // マージ
$ dir // master.txt、develop.txt確認
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
28
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
デモ(みんなで作業)
ブランチ作ってコンフリクト
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
29
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
コンフリクト(複雑なので図解)
master
(main)
develop1
Sample.txtの2行目に「ブルーベリー」を追加
develop2
Sample.txtの2行目に「メロン」を追加
マージ マージ
コンフリクト
Sample.txt
1行目に「テスト」
作成
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
30
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってコンフリクト
$ git branch // masterブランチ確認
$ notepad Sample.txt // 「テスト」追記
$ git add –A
$ git commit –m “conflict test”
$ git branch develop1
$ git branch develop2
$ git checkout develop1
$ notepad Sample.txt // 2行目「メロン」追記
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
31
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってコンフリクト(続き)
$ git add -A
$ git commit –m “melon add”
$ git checkout master
$ git merge develop1
$ git checkout develop2
$ notepad Sample.txt // 2行目「ブルーベリー」追記
$ git add -A
$ git commit –m “blueberry add”
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
32
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってコンフリクト(続き)
$ git checkout master
$ git merge develop2
Auto-merging Sample.txt
CONFLICT (content): Merge conflict in Sample.txt
Automatic merge failed; fix conflicts and then commit the result.
★★ここでコンフリクト発生★★
↓コンフリクトの内容を確認する↓
$ notepad Sameple.txt
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
33
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってコンフリクト(続き)
こんな感じになっているはず・・・
-----------------------------------
テスト
<<<<<<< HEAD
メロン
=======
ブルーベリー
>>>>>>> develop2
Masterブランチの内容
develop2ブランチの内容
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
34
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
コンフリクト(複雑なので図解)
master
(main)
develop1
Sample.txtの2行目に「ブルーベリー」を追加
develop2
Sample.txtの2行目に「メロン」を追加
マージ マージ
コンフリクト
Sample.txt
1行目に「テスト」
作成
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
35
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってコンフリクト(続き)
今回はdevelop2の内容が正しいという方向で修正する
-----------------------------------
テスト
ブルーベリー
develop2ブランチの内容に修正
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
36
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってコンフリクト(続き)
インデックスにはまだマージ前のファイルが記録されているため
競合を解消したファイルをgit add コマンドで
再度インデックスに追加する必要があります。
そのままコミットでOK。
$ git add Sample.txt
$ git commit –m “conflict complete”
Gitコマンドの理解(ブランチ、マージ、コンフリクト)
37
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
本日のアジェンダ
1 .(おさらい)バージョン管理システムとは
2 . (おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7 .QAタイム
38
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
push
commit
add インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
Gitワークフローと基本的なコマンドとの対応
init
clone
ローカルリポジトリ作成
status
branch
merge
checkout
pull/fetch
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
39
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
プッシュ
ローカルリポジトリにある対象データを、リモートリポジトリにアップロードすること
push
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
40
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
クローン
リモートリポジトリにある情報を、ローカルリポジトリにまるごとコピーすること
(同時にローカルリポジトリも作成)
clone
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
41
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
フェッチ
リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化すること
fetch
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
42
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
プル
リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化して、
手元のソースとマージすること(fetch+merge)
pull
ローカル
リポジトリ
リモート
リポジトリ
Githubなど
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
43
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
デモ(みんなで作業)
Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
44
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
最新をプルして、ファイル追加してプッシュ
$ cd .. // samplepjフォルダの1階層上に移動
$ git clone https://github.com/(アカウント名)/git-tutorial
$ cd git-tutorial
$ echo "# git-tutorial" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git branch -M main
$ git push -u origin main
GitHubとのやりとり(プッシュ、クローン、フェッチ、プル)
45
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
最新をプルして、ファイル追加してプッシュ
(※補足1)git push時に以下のようなエラー
→git pull origin masterしてください!
error: failed to push some refs to 'https://github.com/NoriMuraZ/git-tutorial'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
GitHubとのやりとり(プッシュ、クローン、フェッチ、プル)
46
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
最新をプルして、ファイル追加してプッシュ
$ git push origin master
Username for ‘https://github.com’: (GitHubアカウント名)
Password for ‘https://NoriMuraZ@github.com’: (メモったトークン)
(※補足2)git push時に以下のようなエラー
→「Git超入門_ハンズオン準備.pdf」でメモったトークンを使って
認証してください!
GitHubとのやりとり(プッシュ、クローン、フェッチ、プル)
47
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
最新をプルして、ファイル追加してプッシュ
GitHubとのやりとり(プッシュ、クローン、フェッチ、プル)
「いいえ」をクリックして、警告を飛ばしてください
(複数回出る場合もあり)
(※補足3)git push時に以下のようなエラー(Windowsの方)
48
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
本日のアジェンダ
1 .(おさらい)バージョン管理システムとは
2 . (おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7 .QAタイム
49
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ戦略
git-flow
master(main)
develop
feature
release
hotfix
プロダクトとしてリリースする用のブランチ。リリースしたらタグ付けする。
リリース後の緊急対応(クリティカルなバグフィックスなど)用。
開発用ブランチ。コードが安定し、リリース準備ができたらreleaseへマージ
する。
機能の追加用。developから分岐し、developにマージする。
プロダクトリリースの準備用。
リリース予定の機能やバグフィックスが反映された状態のdevelopから分岐
する。
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
50
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ戦略(樹形図)
master(main)
develop
feature
release
hotfix
Tag
Ver0.1
Tag
Ver1.0
Tag
Ver2.0
Tag
Ver2.1
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
51
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
デモ(みんなで作業)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
52
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ戦略(vscodeでブランチを可視化)
以下の状態を作って、vscodeで確認してみる
master(main)
develop
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
53
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってマージ
$ cd git-tutorial // git-tutorialに移動
$ git branch // 状況確認
$ git checkout –b develop // develop作成しつつ移動
$ notepad develop.txt
$ git add -A
$ git commit –m “develop create”
ここでvscodeを開きましょう
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
54
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってマージ
ここでvscodeを開きましょう。
右クリックして「その他のオプションを表示」⇒「Codeで開く」を選択
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
「Codeで開く」ボタン
クリック
55
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってマージ(GitGraphで確認)
Vscode左下
「Git Graph」ボタン
押す
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
ブランチの状態が
わかる
56
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってマージ
(続き)
$ git checkout master
$ git merge develop
ここでまたvscodeを開きましょう
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
57
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
ブランチ作ってマージ(GitGraphで確認)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
結合!
58
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
プルリクエスト
コードなどを追加・修正した際、ブランチへの反映を他の開発者に依頼する機能
プルリクエスト マージ
レビュー担当
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
59
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
プルリクエストしてみる
プルリクエスト マージ
レビュー担当
➀新しいソースファイル
を追加します
➁プルリクエスト
を作成します
➂マージします
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
60
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
デモ
プルリクエスト作成
↓
プルリクエスト確認作業
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
61
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
プルリクエストしてみる(準備編)
これまでコマンドベース(CUI)で
やってきたことを
vscode(GUI)上でやってみます。
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
62
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
プルリクエストしてみる(準備編)
【注意】
git-tutorialフォルダを一度削除してください
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
63
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
プルリクエストしてみる(準備編)
(1/21)vscodeを起動後、 ボタン→「リポジトリの複製」ボタン押して以下URLを貼り付ける
https://github.com/NoriMuraZ/git-tutorial
URL貼り付けして
Enterキー押す
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
64
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(2/21)ソース保存先を決めて「リポジトリの場所を選択」ボタンを押して
vscode右下に表示される「ワークスペースに追加」ボタンを押す
ソースを保存する
フォルダを作成
プルリクエストしてみる(準備編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
65
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(3/21)以下画面の表示になったら準備OKです
プルリクエストしてみる(準備編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
66
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(4/21)作業ブランチを「master」(またはmain)ボタンを押して、developブランチに切り替える
プルリクエストしてみる(ソース修正編)
この表示になれば
OK
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
67
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(4/21)作業ブランチを「master」(またはmain)ボタンを押して、developブランチに切り替える
プルリクエストしてみる(ソース修正編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
68
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(5/21) ボタンを押して、ファイルを作成する(ここでは自分の名前のファイルを作成)
プルリクエストしてみる(ソース修正編)
この表示になれば
OK
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
69
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(6/21)ソースファイルを編集して、上書き保存する(Ctrl+S)
プルリクエストしてみる(ソース修正編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
70
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(7/21)差分表示を確認する
プルリクエストしてみる(ソース修正編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
71
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(8/21)インデックスに上げて、コミットメッセージを入力、コミットしてプッシュする
プルリクエストしてみる(ソース修正編)
1. インデックス
に上げる
2. インデックス
に上がっている
のを確認
3. コミット
メッセージを
入力
4. コミット
5. プッシュ
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
5. プッシュ
72
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(9/21)git fetchしておく
プルリクエストしてみる(ソース修正編)
クリック
クリック
またはこちら↓
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
73
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(10/21) Gitの状態をGitGraphで確認する
プルリクエストしてみる(ソース修正編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
入力したコミットメッセージが表示
74
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(11/21)以下GitHubのURLにアクセスして、プルリクエストを作成する
https://github.com/(ユーザ名)/git-tutorial/pulls
プルリクエストしてみる(プルリクエスト作成編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
75
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(12/21) 「New pull request」ボタンを押して、「compare:develop」を選択
プルリクエストしてみる(プルリクエスト作成編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
76
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(13/21)以下表示になったら「Create pull request」を押す
プルリクエストしてみる(プルリクエスト作成編)
・コミットメッセージ
・差分ファイル
の情報を確認する
クリック
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
77
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(14/21)以下表示になったら「Create pull request」を押す
プルリクエストしてみる(プルリクエスト作成編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
プルリクエストの内容を説明する文を入力する
(ソースコードの改修内容や動作確認方法など)
【ポイント】
プルリクエストを見てもらう人に
今回の修正内容をわかりやすく説明すること
78
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(15/21)以下表示になればプルリクエスト作成完了です
プルリクエストしてみる(プルリクエスト作成編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
79
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(16/21)先ほどの画面のURLをチャットなどで知らせて依頼完了(プルリクエスト依頼)
プルリクエストしてみる(プルリクエスト依頼編)
https://github.com/NoriMuraZ/git-tutorial/pull/1
ibmmurat
a
ibmmurat
a
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
80
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(17/21) (プルリクエスト依頼された側)知らされたURLにアクセスする
プルリクエストしてみる(プルリクエストマージ編)
https://github.com/NoriMuraZ/git-tutorial/pull/1
ibmmurat
a
ibmmurat
a
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
81
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(18/21)(プルリクエスト依頼された側)内容を確認し
「Merge pull request」ボタン→「Confirm merge」ボタンを押す
プルリクエストしてみる(プルリクエストマージ編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
82
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(19/21) (プルリクエスト依頼された側)以下内容になればマージOK
プルリクエストしてみる(プルリクエストマージ編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
83
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(20/21) Git GraphでGitHubの状態を確認する。「Fetch」ボタンを押す。
プルリクエストしてみる(プルリクエストマージ編)
Fetchボタンを押す
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
84
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
(21/21)マージ(統合)されたことがわかる。
プルリクエストしてみる(プルリクエストマージ編)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
85
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
インデックス
ワークツリー
ローカル
リポジトリ
リモート
リポジトリ
例題(既存PJのリポジトリpullして、ファイル修正)
Github
➀クローン
➂ファイル作成
➁フォルダ移動、状態確認、ブランチ切り替え
➃
インデックス
に追加
⑤
コミット
⑥
プッシュ
⑦プルリクエスト
⑧プルリクエスト承認
(マージ)
Gitコマンドの理解(ブランチ戦略、プルリクエスト)
86
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
➀ $ git clone https://github.com/・・・
➁ $ cd (フォルダ名) & git branch
➁ $ git checkout –b develop // なければ作成
➂ $ notepad develop.txt
➃ $ git add -A
⑤ $ git commit –m “ソースファイルを作成した(develop)”
⑥ $ git push origin develop // 認証
⑦ プルリクエスト作成
⑧ プルリクエスト承認(マージ)
Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
回答
87
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
1 .(おさらい)バージョン管理システムとは
2 . (おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
7 .QAタイム
本日のアジェンダ
88
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
QAタイム
89
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
まとめ
1 .(おさらい)バージョン管理システムとは
2 .(おさらい) Git全体像
3 .Gitコマンドの理解(コミット、initなど)
4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト)
5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ
Git
https://git-scm.com/book/ja/v2
90
Customer Success, IBM Technology, Japan / © 2023 IBM Corporation
いろいろTry&Errorしながら
試してみてください。
ありがとうございました

Mais conteúdo relacionado

Mais procurados

われわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのかわれわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのかtoshihiro ichitani
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話Yusuke Hisatsu
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようCognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようShuto Suzuki
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナーItsuki Kuroda
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
コミュニティと人の縁
コミュニティと人の縁コミュニティと人の縁
コミュニティと人の縁Takuya Okamoto
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
 
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメントDX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメントTakeshi Kakeda
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
非ITの宿泊業なのに、なぜDXを推進できるのか?
非ITの宿泊業なのに、なぜDXを推進できるのか?非ITの宿泊業なのに、なぜDXを推進できるのか?
非ITの宿泊業なのに、なぜDXを推進できるのか?崇介 藤井
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)NTT DATA Technology & Innovation
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
 
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話sairoutine
 
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanリーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanItsuki Kuroda
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay都元ダイスケ Miyamoto
 

Mais procurados (20)

われわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのかわれわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのか
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようCognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
 
Lean coffee
Lean coffeeLean coffee
Lean coffee
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
コミュニティと人の縁
コミュニティと人の縁コミュニティと人の縁
コミュニティと人の縁
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメントDX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
非ITの宿泊業なのに、なぜDXを推進できるのか?
非ITの宿泊業なのに、なぜDXを推進できるのか?非ITの宿泊業なのに、なぜDXを推進できるのか?
非ITの宿泊業なのに、なぜDXを推進できるのか?
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話
 
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanリーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
 

Semelhante a Git超入門(ハンズオン).pdf

Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナーIMJ Corporation
 
ビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略についてビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略についてbitbank, Inc. Tokyo, Japan
 
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼうJAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼうHiroki Uchida
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”Drecom Co., Ltd.
 
C# でブロックチェーン実装
C# でブロックチェーン実装C# でブロックチェーン実装
C# でブロックチェーン実装Yuto Takei
 
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...Tsuyoshi Hirayama
 
ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略bitbank, Inc. Tokyo, Japan
 
第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)
第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)
第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcapsmalt
 
K8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018springK8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018springcapsmalt
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
高負荷に耐えうるWeb application serverの作り方
高負荷に耐えうるWeb application serverの作り方高負荷に耐えうるWeb application serverの作り方
高負荷に耐えうるWeb application serverの作り方yuta-ishiyama
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法
db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法
db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法Natsumi Yotsumoto
 
[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』
[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』
[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』Insight Technology, Inc.
 
プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話
プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話
プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話i35_267 Ishigaki
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)NTT DATA Technology & Innovation
 
MySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビューMySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビューオラクルエンジニア通信
 

Semelhante a Git超入門(ハンズオン).pdf (20)

Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
 
ビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略についてビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略について
 
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼうJAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
 
C# でブロックチェーン実装
C# でブロックチェーン実装C# でブロックチェーン実装
C# でブロックチェーン実装
 
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...
 
ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略
 
第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)
第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)
第16回「エキスパート・インテグレーテッド・システム『IBM PureSystems』の価値」(2012/04/19 on しすなま!)
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
 
K8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018springK8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018spring
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
高負荷に耐えうるWeb application serverの作り方
高負荷に耐えうるWeb application serverの作り方高負荷に耐えうるWeb application serverの作り方
高負荷に耐えうるWeb application serverの作り方
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法
db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法
db techshowcase 2018 最⾼のデータプラットフォームを、 最短でつくる⽅法
 
[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』
[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』
[db tech showcase Tokyo 2018] #dbts2018 #A22 『最高のデータプラットフォームを、最短でつくる方法』
 
プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話
プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話
プロダクトがリリースされるまでを『見える化』することで組織体質を変えていった話
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 
MySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビューMySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビュー
 

Último

キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 

Último (12)

キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 

Git超入門(ハンズオン).pdf

  • 2. 2 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 自己紹介 村田 憲昭 北海道北斗市 スノーボード、登山、グルメ、猫 カスタマーサクセス DX人材育成/教育(IT全般) スクラムマスター 半導体アプリエンジニア 某コンビニのエンジニア 名前 生息地 趣味 経歴
  • 3. 3 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 免責事項 本資料に含まれる情報は可能な限り正確を期しておりますが、 記載された内容に関して、日本アイ・ビー・エム株式会社が 何ら保証するものではありません。 従って、本資料の情報の利用は使用者の責任において 為されるものであり、資料の内容によって受けた 如何なる被害に関しても一切の補償をするものではありません。
  • 4. 4 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 今回のゴール Gitの基本的な操作がわかる
  • 5. 5 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 前提条件 ➀基本的なWindows/Linuxコマンドの理解 (cd、dir、mkdir等) ➁2022年12月開催の「Git超入門 座学編」の理解
  • 6. 6 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation dir ・・・ディレクトリの中身を表示する cd ・・・任意のディレクトリに移動する mkdir(md) ・・・ディレクトリを作成する del ・・・ファイルを削除する rmdir(rd) ・・・ディレクトリを削除する notepad(vimなど)・・・ファイルを編集する ➀基本的なWindowsコマンド 前提条件
  • 7. 7 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ls ・・・ディレクトリの中身を表示する cd ・・・任意のディレクトリに移動する mkdir ・・・ディレクトリを作成する rm ・・・ファイルを削除する rm –r ・・・ディレクトリを削除する vim ・・・ファイルを編集する ➀基本的なLinuxコマンド 前提条件
  • 8. 8 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation https://www.slideshare.net/nmzstation/gitpdf-254864927 ➁2022年12月開催の「Git超入門 座学編」の理解 前提条件
  • 9. 9 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 本日のアジェンダ 1 .(おさらい)バージョン管理システムとは 2 . (おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ 7 .QAタイム
  • 10. 10 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation バージョン管理システムとは ファイルに対して 「いつ」 「誰が」「何を変更したか」 というような情報を記録することで、 過去のある時点の状態を「復元」したり 変更内容の「差分」を表示できるように 「バージョン」を付けて管理するシステム
  • 11. 11 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 本日のアジェンダ 1 .(おさらい)バージョン管理システムとは 2 . (おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ 7 .QAタイム
  • 12. 12 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation リモート リポジトリ 変更 ローカル リポジトリ ローカル リポジトリ 取得 Githubなど Gitなどの分散型バージョン管理システム 反映 Git全体像
  • 13. 13 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation push commit add インデックス ワークツリー ローカル リポジトリ リモート リポジトリ Gitワークフローと基本的なコマンドとの対応 init clone ローカルリポジトリ作成 status branch merge checkout pull/fetch Githubなど Git全体像
  • 14. 14 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 本日のアジェンダ 1 .(おさらい)バージョン管理システムとは 2 . (おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ 7 .QAタイム
  • 15. 15 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation push commit add インデックス ワークツリー ローカル リポジトリ リモート リポジトリ Gitワークフローと基本的なコマンドとの対応 init clone ローカルリポジトリ作成 status branch merge checkout pull/fetch Githubなど Gitコマンドの理解(コミット、initなど)
  • 16. 16 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation init、 add、status、commit init ・・・ ローカルリポジトリを作成する add ・・・ ファイルをインデックスに追加する status ・・・ ワークツリーの状況を表示する commit ・・・ インデックスにあるファイルを ローカルリポジトリに追加する Gitコマンドの理解(コミット、initなど)
  • 17. 17 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation デモ(みんなで作業) Gitコマンドの理解(コミット、initなど)
  • 18. 18 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ローカルリポジトリへcommit $ mkdir samplepj $ cd samplepj $ git init $ notepad Readme.txt $ git status $ git add –A $ git status $ git commit -m "my first commit" Gitコマンドの理解(コミット、initなど)
  • 19. 19 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 本日のアジェンダ 1 .(おさらい)バージョン管理システムとは 2 . (おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ 7 .QAタイム
  • 20. 20 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation push commit add インデックス ワークツリー ローカル リポジトリ リモート リポジトリ Gitワークフローと基本的なコマンドとの対応 init clone ローカルリポジトリ作成 status branch merge checkout pull/fetch Githubなど Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 21. 21 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ A B C H Z リリース 履歴 バグ 履歴 機能追加 履歴 Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 22. 22 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation マージ C H D J Index.html Index.html Index.html Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 23. 23 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation コンフリクト B C H D J コンフリクト Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 24. 24 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation branch、merge、checkout branch ・・・ ブランチを作成する/確認する merge ・・・ ブランチを統合する checkout ・・・ 作業ブランチを切り替える Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 25. 25 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation デモ(みんなで作業) ブランチ作ってマージ Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 26. 26 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってマージ 1/2 $ git branch // 状況確認 $ git branch develop $ notepad master.txt // あとで動作するので作成しておく $ git add –A $ git commit –m “master.txt commit” Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 27. 27 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってマージ 2/2 $ git branch // 状況確認 $ git checkout develop $ dir // master.txtがいないことを確認 $ notepad develop.txt $ git add -A $ git commit –m “develop.txt commit” $ git checkout master $ dir // develop.txtがいないことを確認 $ git merge develop // マージ $ dir // master.txt、develop.txt確認 Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 28. 28 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation デモ(みんなで作業) ブランチ作ってコンフリクト Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 29. 29 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation コンフリクト(複雑なので図解) master (main) develop1 Sample.txtの2行目に「ブルーベリー」を追加 develop2 Sample.txtの2行目に「メロン」を追加 マージ マージ コンフリクト Sample.txt 1行目に「テスト」 作成 Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 30. 30 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってコンフリクト $ git branch // masterブランチ確認 $ notepad Sample.txt // 「テスト」追記 $ git add –A $ git commit –m “conflict test” $ git branch develop1 $ git branch develop2 $ git checkout develop1 $ notepad Sample.txt // 2行目「メロン」追記 Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 31. 31 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってコンフリクト(続き) $ git add -A $ git commit –m “melon add” $ git checkout master $ git merge develop1 $ git checkout develop2 $ notepad Sample.txt // 2行目「ブルーベリー」追記 $ git add -A $ git commit –m “blueberry add” Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 32. 32 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってコンフリクト(続き) $ git checkout master $ git merge develop2 Auto-merging Sample.txt CONFLICT (content): Merge conflict in Sample.txt Automatic merge failed; fix conflicts and then commit the result. ★★ここでコンフリクト発生★★ ↓コンフリクトの内容を確認する↓ $ notepad Sameple.txt Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 33. 33 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってコンフリクト(続き) こんな感じになっているはず・・・ ----------------------------------- テスト <<<<<<< HEAD メロン ======= ブルーベリー >>>>>>> develop2 Masterブランチの内容 develop2ブランチの内容 Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 34. 34 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation コンフリクト(複雑なので図解) master (main) develop1 Sample.txtの2行目に「ブルーベリー」を追加 develop2 Sample.txtの2行目に「メロン」を追加 マージ マージ コンフリクト Sample.txt 1行目に「テスト」 作成 Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 35. 35 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってコンフリクト(続き) 今回はdevelop2の内容が正しいという方向で修正する ----------------------------------- テスト ブルーベリー develop2ブランチの内容に修正 Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 36. 36 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってコンフリクト(続き) インデックスにはまだマージ前のファイルが記録されているため 競合を解消したファイルをgit add コマンドで 再度インデックスに追加する必要があります。 そのままコミットでOK。 $ git add Sample.txt $ git commit –m “conflict complete” Gitコマンドの理解(ブランチ、マージ、コンフリクト)
  • 37. 37 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 本日のアジェンダ 1 .(おさらい)バージョン管理システムとは 2 . (おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ 7 .QAタイム
  • 38. 38 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation push commit add インデックス ワークツリー ローカル リポジトリ リモート リポジトリ Gitワークフローと基本的なコマンドとの対応 init clone ローカルリポジトリ作成 status branch merge checkout pull/fetch Githubなど Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
  • 39. 39 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation プッシュ ローカルリポジトリにある対象データを、リモートリポジトリにアップロードすること push ローカル リポジトリ リモート リポジトリ Githubなど Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
  • 40. 40 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation クローン リモートリポジトリにある情報を、ローカルリポジトリにまるごとコピーすること (同時にローカルリポジトリも作成) clone ローカル リポジトリ リモート リポジトリ Githubなど Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
  • 41. 41 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation フェッチ リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化すること fetch ローカル リポジトリ リモート リポジトリ Githubなど Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
  • 42. 42 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation プル リモートリポジトリ から最新の更新情報を取得して、ローカルリポジトリを最新化して、 手元のソースとマージすること(fetch+merge) pull ローカル リポジトリ リモート リポジトリ Githubなど Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
  • 43. 43 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation デモ(みんなで作業) Gitコマンドの理解(プッシュ、クローン、フェッチ、プル)
  • 44. 44 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 最新をプルして、ファイル追加してプッシュ $ cd .. // samplepjフォルダの1階層上に移動 $ git clone https://github.com/(アカウント名)/git-tutorial $ cd git-tutorial $ echo "# git-tutorial" >> README.md $ git init $ git add README.md $ git commit -m "first commit" $ git branch -M main $ git push -u origin main GitHubとのやりとり(プッシュ、クローン、フェッチ、プル)
  • 45. 45 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 最新をプルして、ファイル追加してプッシュ (※補足1)git push時に以下のようなエラー →git pull origin masterしてください! error: failed to push some refs to 'https://github.com/NoriMuraZ/git-tutorial' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. GitHubとのやりとり(プッシュ、クローン、フェッチ、プル)
  • 46. 46 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 最新をプルして、ファイル追加してプッシュ $ git push origin master Username for ‘https://github.com’: (GitHubアカウント名) Password for ‘https://NoriMuraZ@github.com’: (メモったトークン) (※補足2)git push時に以下のようなエラー →「Git超入門_ハンズオン準備.pdf」でメモったトークンを使って 認証してください! GitHubとのやりとり(プッシュ、クローン、フェッチ、プル)
  • 47. 47 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 最新をプルして、ファイル追加してプッシュ GitHubとのやりとり(プッシュ、クローン、フェッチ、プル) 「いいえ」をクリックして、警告を飛ばしてください (複数回出る場合もあり) (※補足3)git push時に以下のようなエラー(Windowsの方)
  • 48. 48 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 本日のアジェンダ 1 .(おさらい)バージョン管理システムとは 2 . (おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ 7 .QAタイム
  • 49. 49 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ戦略 git-flow master(main) develop feature release hotfix プロダクトとしてリリースする用のブランチ。リリースしたらタグ付けする。 リリース後の緊急対応(クリティカルなバグフィックスなど)用。 開発用ブランチ。コードが安定し、リリース準備ができたらreleaseへマージ する。 機能の追加用。developから分岐し、developにマージする。 プロダクトリリースの準備用。 リリース予定の機能やバグフィックスが反映された状態のdevelopから分岐 する。 Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 50. 50 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ戦略(樹形図) master(main) develop feature release hotfix Tag Ver0.1 Tag Ver1.0 Tag Ver2.0 Tag Ver2.1 Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 51. 51 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation デモ(みんなで作業) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 52. 52 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ戦略(vscodeでブランチを可視化) 以下の状態を作って、vscodeで確認してみる master(main) develop Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 53. 53 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってマージ $ cd git-tutorial // git-tutorialに移動 $ git branch // 状況確認 $ git checkout –b develop // develop作成しつつ移動 $ notepad develop.txt $ git add -A $ git commit –m “develop create” ここでvscodeを開きましょう Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 54. 54 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってマージ ここでvscodeを開きましょう。 右クリックして「その他のオプションを表示」⇒「Codeで開く」を選択 Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ) 「Codeで開く」ボタン クリック
  • 55. 55 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってマージ(GitGraphで確認) Vscode左下 「Git Graph」ボタン 押す Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ) ブランチの状態が わかる
  • 56. 56 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってマージ (続き) $ git checkout master $ git merge develop ここでまたvscodeを開きましょう Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 57. 57 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ブランチ作ってマージ(GitGraphで確認) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ) 結合!
  • 58. 58 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation プルリクエスト コードなどを追加・修正した際、ブランチへの反映を他の開発者に依頼する機能 プルリクエスト マージ レビュー担当 Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 59. 59 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation プルリクエストしてみる プルリクエスト マージ レビュー担当 ➀新しいソースファイル を追加します ➁プルリクエスト を作成します ➂マージします Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 60. 60 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation デモ プルリクエスト作成 ↓ プルリクエスト確認作業 Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 61. 61 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation プルリクエストしてみる(準備編) これまでコマンドベース(CUI)で やってきたことを vscode(GUI)上でやってみます。 Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 62. 62 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation プルリクエストしてみる(準備編) 【注意】 git-tutorialフォルダを一度削除してください Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 63. 63 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation プルリクエストしてみる(準備編) (1/21)vscodeを起動後、 ボタン→「リポジトリの複製」ボタン押して以下URLを貼り付ける https://github.com/NoriMuraZ/git-tutorial URL貼り付けして Enterキー押す Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 64. 64 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (2/21)ソース保存先を決めて「リポジトリの場所を選択」ボタンを押して vscode右下に表示される「ワークスペースに追加」ボタンを押す ソースを保存する フォルダを作成 プルリクエストしてみる(準備編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 65. 65 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (3/21)以下画面の表示になったら準備OKです プルリクエストしてみる(準備編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 66. 66 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (4/21)作業ブランチを「master」(またはmain)ボタンを押して、developブランチに切り替える プルリクエストしてみる(ソース修正編) この表示になれば OK Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 67. 67 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (4/21)作業ブランチを「master」(またはmain)ボタンを押して、developブランチに切り替える プルリクエストしてみる(ソース修正編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 68. 68 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (5/21) ボタンを押して、ファイルを作成する(ここでは自分の名前のファイルを作成) プルリクエストしてみる(ソース修正編) この表示になれば OK Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 69. 69 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (6/21)ソースファイルを編集して、上書き保存する(Ctrl+S) プルリクエストしてみる(ソース修正編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 70. 70 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (7/21)差分表示を確認する プルリクエストしてみる(ソース修正編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 71. 71 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (8/21)インデックスに上げて、コミットメッセージを入力、コミットしてプッシュする プルリクエストしてみる(ソース修正編) 1. インデックス に上げる 2. インデックス に上がっている のを確認 3. コミット メッセージを 入力 4. コミット 5. プッシュ Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ) 5. プッシュ
  • 72. 72 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (9/21)git fetchしておく プルリクエストしてみる(ソース修正編) クリック クリック またはこちら↓ Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 73. 73 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (10/21) Gitの状態をGitGraphで確認する プルリクエストしてみる(ソース修正編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ) 入力したコミットメッセージが表示
  • 74. 74 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (11/21)以下GitHubのURLにアクセスして、プルリクエストを作成する https://github.com/(ユーザ名)/git-tutorial/pulls プルリクエストしてみる(プルリクエスト作成編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 75. 75 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (12/21) 「New pull request」ボタンを押して、「compare:develop」を選択 プルリクエストしてみる(プルリクエスト作成編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 76. 76 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (13/21)以下表示になったら「Create pull request」を押す プルリクエストしてみる(プルリクエスト作成編) ・コミットメッセージ ・差分ファイル の情報を確認する クリック Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 77. 77 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (14/21)以下表示になったら「Create pull request」を押す プルリクエストしてみる(プルリクエスト作成編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ) プルリクエストの内容を説明する文を入力する (ソースコードの改修内容や動作確認方法など) 【ポイント】 プルリクエストを見てもらう人に 今回の修正内容をわかりやすく説明すること
  • 78. 78 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (15/21)以下表示になればプルリクエスト作成完了です プルリクエストしてみる(プルリクエスト作成編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 79. 79 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (16/21)先ほどの画面のURLをチャットなどで知らせて依頼完了(プルリクエスト依頼) プルリクエストしてみる(プルリクエスト依頼編) https://github.com/NoriMuraZ/git-tutorial/pull/1 ibmmurat a ibmmurat a Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 80. 80 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (17/21) (プルリクエスト依頼された側)知らされたURLにアクセスする プルリクエストしてみる(プルリクエストマージ編) https://github.com/NoriMuraZ/git-tutorial/pull/1 ibmmurat a ibmmurat a Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 81. 81 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (18/21)(プルリクエスト依頼された側)内容を確認し 「Merge pull request」ボタン→「Confirm merge」ボタンを押す プルリクエストしてみる(プルリクエストマージ編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 82. 82 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (19/21) (プルリクエスト依頼された側)以下内容になればマージOK プルリクエストしてみる(プルリクエストマージ編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 83. 83 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (20/21) Git GraphでGitHubの状態を確認する。「Fetch」ボタンを押す。 プルリクエストしてみる(プルリクエストマージ編) Fetchボタンを押す Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 84. 84 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation (21/21)マージ(統合)されたことがわかる。 プルリクエストしてみる(プルリクエストマージ編) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ)
  • 85. 85 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation インデックス ワークツリー ローカル リポジトリ リモート リポジトリ 例題(既存PJのリポジトリpullして、ファイル修正) Github ➀クローン ➂ファイル作成 ➁フォルダ移動、状態確認、ブランチ切り替え ➃ インデックス に追加 ⑤ コミット ⑥ プッシュ ⑦プルリクエスト ⑧プルリクエスト承認 (マージ) Gitコマンドの理解(ブランチ戦略、プルリクエスト)
  • 86. 86 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation ➀ $ git clone https://github.com/・・・ ➁ $ cd (フォルダ名) & git branch ➁ $ git checkout –b develop // なければ作成 ➂ $ notepad develop.txt ➃ $ git add -A ⑤ $ git commit –m “ソースファイルを作成した(develop)” ⑥ $ git push origin develop // 認証 ⑦ プルリクエスト作成 ⑧ プルリクエスト承認(マージ) Gitコマンドの理解(ブランチ戦略、プルリクエスト、デモ) 回答
  • 87. 87 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation 1 .(おさらい)バージョン管理システムとは 2 . (おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ 7 .QAタイム 本日のアジェンダ
  • 88. 88 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation QAタイム
  • 89. 89 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation まとめ 1 .(おさらい)バージョン管理システムとは 2 .(おさらい) Git全体像 3 .Gitコマンドの理解(コミット、initなど) 4 .Gitコマンドの理解(ブランチ、マージ、コンフリクト) 5 .Gitコマンドの理解(プッシュ、クローン、フェッチ、プル) 6 .Gitコマンドの理解(プルリクエスト、ブランチ戦略)、デモ Git https://git-scm.com/book/ja/v2
  • 90. 90 Customer Success, IBM Technology, Japan / © 2023 IBM Corporation いろいろTry&Errorしながら 試してみてください。 ありがとうございました