SlideShare ist ein Scribd-Unternehmen logo
1 von 60
UNIXゼミ第10回
バージョン管理システム
Git
かたわれ
@_ktwr
1
バージョン管理システム(VCS)
バージョン管理システム(VCS)とは
効率よくバージョン(版)を管理するためのシステム
バージョン管理システムには2種類存在する
集中型バージョン管理システム
分散型バージョン管理システム
App
Ver1.3
App
Ver1.4
2
リポジトリの簡単な説明
リポジトリとは
ファイルの変更とかを記録しておくディレクトリ
詳しい説明はGitの説明に入ってから 3
リポジトリ
ファイル
更新情報
ログ モジュール
最新情報
集中型バージョン管理システム
特徴
バージョンの管理を単一のマシンで管理
記録した変更履歴はすべてに反映
変更を記録するのにネットワーク接続が必要
中央
リポジトリ
4
分散型バージョン管理システム
特徴
バージョンを複数のマシンで管理
ネットワーク接続なしで多くの操作が実行可能
5
リモート
リポジトリ
ローカル
リポジトリ
ローカル
リポジトリ
ローカル
リポジトリ
分散型バージョン管理システムGit
背景
Linuxのバージョン管理システムであるBitKeeperのライセ
ンス提供が停止したために開発されたバージョン管理シス
テム
機能
次の情報を精確に記録する
ファイルの作成日時
ファイルの変更日時
ファイルの変更点
上記情報によりトレース,調査が可能になる
6
Gitのディレクトリ構成
Gitでバージョン管理をするディレクトリの構成
7
git-root
file1
file2
dir1
.git
index
config
ワークツリー
(作業ツリー)
ステージングエリア
gitレポジトリ
リポジトリ
Gitが追跡するデータベース
リポジトリに格納するデータ
コードの現在の状況
変更に対しての時間と施した人物…etc
リポジトリに格納すべき情報
プロジェクトで利用するすべてのファイル
ソースコード
ビルドファイル…etc
8
Gitでのリポジトリ
ローカルリポジトリ
ユーザが一人一人利用するための自分の計算機上に用
意するリポジトリ
リモートリポジトリ
9
10
リモート
リポジトリ
ローカル
リポジトリ
ローカル
リポジトリ
ローカル
リポジトリ
Gitでのリポジトリ
ローカルリポジトリ
ユーザが一人一人利用するための自分の計算機上に用
意するリポジトリ
リモートリポジトリ
専用のサーバに配置し複数人で共有するためのリポジト
リ
11
12
リモート
リポジトリ
ローカル
リポジトリ
ローカル
リポジトリ
ローカル
リポジトリ
ワークツリー
リポジトリに格納するあらゆるファイルについての変
更を加える場所
簡単に言うと版管理しているディレクトリ
13
git-root
file1
file2
dir1
.git
index
config
ワークツリー
(作業ツリー)
ステージングエリア
gitレポジトリ
Gitで使うその他の用語(1/2)
HEAD
最新のコミットのこと
最新より一つ古いコミットはHEAD^,HEAD~~等となる
14
ID:258039... ID:72b499... ID:a854439... ID:114514810...
HEADHEAD^
HEAD~
HEAD^^
HEAD~~
HEAD~2
HEAD^^^
HEAD~~~
HEAD~3
Gitで使うその他の用語(2/2)
ハンク
ファイル内の変更そのものを指す
連続した変更箇所が一つのハンクとなる
15
hoge.c hoge.c
main関数 main関数
デバッグ関数
追加関数
sub関数 sub関数
ハンク
ローカルでの版管理の流れ
1. リポジトリの作成
2. ファイルの変更
3. ステージングエリアに追加
4. コミット
16
基本は2~4の繰り返し
Gitで使うコマンド(1/21)
リポジトリの作成git init
版管理したいディレクトリに移動し
$ git init
と打つとそのディレクトリに「.git」ディレクトリが用意される
17
$ ls .git
COMMIT_EDITMSG branches/ description index logs/ objects/
HEAD config hooks/ info/ modules/ refs/
ファイルの追加とコミット
コミット
ファイルやディレクトリの追加や変更のリポジトリへの記録
コミットには個別のIDが与えられる
リポジトリに追加することを「コミットする」という
ステージングエリアへの追加
ステージングエリア
ファイルの変更を一部送信するために用意されたインデックス
Gitでのコミット
1. ステージングエリアに変更したいファイルを追加
2. コミットを作成しリポジトリに変更を追加
18
ファイルの追加とコミット
19
ワークツリー ステージングエリア Gitリポジトリ
git init
更新
git add
git commit
Gitで使うコマンド(2/21)
ステージングエリアへの追加 git add
file1.cを版管理して変更を反映させたい場合
$ git add file1.c
とすることで変更するファイルを指定する
$ git add file1.c file2.c
のように複数ファイルをステージングエリアへ追加できる
$ git add –p
-pオプションを使用するとハンクを指定してステージングエ
リアへ追加できる
$ git add –u
-uオプションを使用するとバージョン管理中のファイルすべ
てを更新する
20
Gitで使うコマンド(3/21)
コミット git commit
ステージングエリアへファイルを追加し
$ git commit
と打つと変更がリポジトリに更新される
コミットにはログメッセージをつけることが必須
-mオプションでエディタを開かずにメッセージをつける
オプションなしでメッセージエディタを開く
ログメッセージ
1行目:コミットでの変更内容の要約
2行目:空行
3行目:変更した理由
21
Gitを効率よく進めるため
Gitには効率よく版管理をするためにいろいろな仕組
みがある
ファイルの内容の確認
履歴を利用した作業
変更を取り戻す
ブランチを使った版管理
タグの利用
22
Gitを効率よく進めるため
Gitには効率よく版管理をするためにいろいろな仕組
みがある
ファイルの内容の確認
履歴を利用した作業
変更を取り戻す
ブランチを使った版管理
タグの利用
23
ファイルの確認
Gitでは変更を確認するコマンドがある
必要なファイルをバージョン管理から除外できる
ファイルなどの変更の差分の確認ができる
ファイルの確認のコマンド
リポジトリに起こった変更を見るコマンド
リポジトリにあるものの差分を確認するコマンド
ファイル名の変更やファイルの移動をするコマンド
24
Gitで使うコマンド(4/21)
リポジトリの変更を確認 git status
リポジトリの状態を確認することができる
特に変更が無い場合
ステージングエリア上に追加があった場合
25
$ git status
On branch master
Nothing to commit, working directory clean
$ git status
On branch master
Changes to be committed:
(use “git reset HEAD <file>…” to unstage)
modified: index.html
Gitで使うコマンド(5/21)
リポジトリの差分を確認 git diff
ワークツリー,ステージングエリア,コミットの差分を確認
マーカで表示される
マーカの定義
1. -(記号)
2. ハンクが表示する変更前の行番号,行数
3. +(記号)
4. ハンクが表示する変更後の行番号,行数
 git diffの使い方とオプション
26
$ git diff [option]
オプション 説明
-cashed ステージングエリアとリポジトリの差分の確認
HEAD HEADの内容と現在のワークツリーの差分を確認
Gitで使うコマンド(6/21)
ファイル名の変更やファイルの移動 git mv
ファイル名の変更や移動をした後は
$ git add
$ git rm
が必要
git mvは上のコマンドを自動で実行する
git mvの使い方
27
$ git mv [old filename] [new filename]
ファイルを無視する
リポジトリにとって不要なファイルの扱い
ワークツリーの全てのファイルが必須とは限らない
(実行ファイル,バックアップファイル等)
git statusは版管理してないファイルを表示
.gitignoreファイルを利用し不要なファイルを無視できる
.gitignoreファイル
設定方法
無視するファイルを記述する
ワイルドカードが利用できる
28
.gitignore
file1.c
*.out
*.bak
Gitを効率よく進めるため
Gitには効率よく版管理をするためにいろいろな仕組
みがある
ファイルの内容の確認
履歴を利用した作業
変更を取り戻す
ブランチを使った版管理
タグの利用
29
Gitの履歴を利用した作業
Gitは開発の履歴を辿ることができる
どこでどの変更が施されたのか?
何の目的での変更なのか?
履歴を辿ることの重要性
自分で変えたコードでも変えた理由を忘れることもある
他者のソースコードの変更の理由を知れる
30
Gitで使うコマンド(7/21)
コミットのログを出力 git log
指定したファイルやディレクトリの初めから現在までのコ
ミットのログを出力する
指定がないとすべてのログを出力する
出力順は新しい順
git log の使い方とオプション
31
$ git log [option] [filename]
オプション 説明
-p ステージングエリアとリポジトリの差分の確認
-[数字] HEADの内容と現在のワークツリーの差分を確認
-pretty=short/full/fuller
-grep=[pattern]
Gitで使うコマンド(8/21)
指定したコミットの内容を出力 git show
コミットIDを指定することによりそのIDのコミットの内容を
出力する
指定がない場合は最新のコミットの内容を出力する
 git showの使い方
32
$ git show [commit id]
Gitで使うコマンド(9/21)
ファイルの変更の詳細出力 git blame
ファイルの変更された各行の前に以下を出力
コミット名
コミットした人物
タイムスタンプ
 git blameの使い方
33
$ git blame [filename]
Gitを効率よく進めるため
Gitには効率よく版管理をするためにいろいろな仕組
みがある
ファイルの内容の確認
履歴を利用した作業
変更を取り戻す
ブランチを使った版管理
タグの利用
34
Gitで変更を取り戻す
Gitには施した変更に対してそれを戻すことができる
変更をしたがこの変更はいらなかった
変更をしていった結果、プログラムが動作しなくなった
3種類の方法
過去の不要な変更を打ち消す新しいコミットの作成
ワークツリーでの変更を元に戻す
ステージングエリアの記録を取り下げる
35
元に戻したい!!!
Gitで使うコマンド(10/)
不要な変更を消し,新しいコミットを作る git revert
不必要な変更のcommit idを選択して実行
-nオプションですぐにコミットをしないことも可能
選択したコミットの変更を元に戻す方法を見出す
その結果を新しいコミットとして追加する(履歴の保全)
git revertの使い方
36
$ git revert [commit id]
Gitで使うコマンド(11/21)
 ワークツリーやファイルを元に戻すgit checkout
コミットのチェックアウトとファイルのチェックアウト
コミットのチェックアウト
ワークツリーを指定したコミットと完全一致した状態にする
ファイルのチェックアウト
ワークツリーの他の部分に影響を与えずそのファイルの
過去のリビジョンを確認できる
 git checkoutの使い方
37
コミットのチェックアウト
$ git revert [commit id]
ファイルのチェックアウト
$ git checkout [file name]
Gitで使うコマンド(12/21)
元の状態に復元できない元に戻すコマンド git reset
git revertと違い危険な方法
元の状態に復元する方法はない(一部例外を除く)
ローカルな変更にのみ使い,リモートには使用すべきでない
 git resetの使い方とオプション
38
$ git revert [commit id]
オプション 説明
-soft 以前のコミットをすべてステージングエリアに戻す
-hard リポジトリ及びワークツリーからコミットを消し去る
Gitを効率よく進めるため
Gitには効率よく版管理をするためにいろいろな仕組
みがある
ファイルの内容の確認
履歴を利用した作業
変更を取り戻す
ブランチを使った版管理
タグの利用
39
ブランチとは
履歴の流れを分岐して記録する
ブランチの特徴
分岐したブランチは他のブランチの影響を受けない
同じリポジトリ内で複数の変更を行うことが可能
ブランチを統合することが可能
ブランチの作成の目的例
実験的変更のため
新しい機能を作成するため
バグフィックスのため
ブランチの概念図(○はコミット)
40
Gitで使うコマンド(13/21)
ブランチを確認,作成するコマンド git branch
ブランチ名を指定して実行する
ブランチ名の変更,削除もできる
 git branchの使い方とオプション
41
$ git branch [option]
オプション 説明
-m [oldbranch] [newbranch] ブランチの名前をoldbranchからnewbranchに変更する
[branch] branchという名前のブランチを作成する
-D [branch] branchという名前のブランチを削除する
オプション無し 現在の全てのブランチを表示する
Gitで使うコマンド(14/21)
ブランチを切り替える git checkout
作業しているブランチを切り替えるコマンド
ブランチを作成することもできる
 git checkoutの使い方とオプション
42
$ git checkout [option]
オプション 説明
-b [newbranch] [basebranch] basebranchに基づいてnewbranchを作成し切り替える
[branch] branchに切り替える
ブランチの統合
分岐したブランチの結果を統合する
統合する方法は3種類ある
直接マージ
圧縮コミット
チェリーピック
統合(マージ)することにより,より効率的に開発可能
次スライドからマージに使うコマンドを先に説明する
43
Gitで使うコマンド(15/21)
コミットを統合する git merge
ブランチの全てのコミットを統合する
全てのコミットを1つのコミットへと圧縮することも可能
 git mergeの使い方
44
$ git merge [option] [branch]
オプション 説明
-squash ブランチから全てのコミットを1つのコミットへと圧縮する
Gitで使うコマンド(16/21)
単一のコミットを統合する git cherry-pick
ブランチの指定したコミットをマージするコマンド
 git cherry-pickの使い方とオプション
45
$ git cherry-pick [option] [commit id]
オプション 説明
-n マージを実行するがコミットは実行しない
直接マージ
ブランチを別のブランチに統合する
ブランチの履歴全体を別のブランチにマージできる
マージ先にしたいブランチに切り替えてコマンドを使用する
46
ID:2580.. ID:72b4... ID:a854... ID:114514...
master branch
git branch
alternate branchgit merge
圧縮コミット
マージ元のコミットを1つにまとめてコミットする
直接マージと圧縮コミット
直接マージ
• 複数のコミットがマージ先にそのまま統合される
圧縮コミット
• 複数のコミットがマージ先に1つのコミットとして統合される
47
ID:2580.. ID:72b4... ID:a854... ID:114514...
master branch
git branch
alternate branch
git merge --squash
git commit
チェリーピック
コミットを指定し,そのコミットを統合する
全てのコミットをマージする必要のないときに使用
48
ID:2580.. ID:72b4... ID:a854... ID:114514...
master branch
git branch
alternate branch
git cherry-pick 4f52..
ID:4f52... ID:d1e5...
Gitを効率よく進めるため
Gitには効率よく版管理をするためにいろいろな仕組
みがある
ファイルの内容の確認
履歴を利用した作業
変更を取り戻す
ブランチを使った版管理
タグの利用
49
タグとは
コミットを参照しやすくするために利用するもの
コミットだけとは限らない
軽量タグ
一番情報量が軽量なタグ
特定のコミットに名前を付けるために利用される
注釈付きタグ
作成者,作成日,作成メッセージのの情報を付け加えれる
署名付きタグ
注釈付きタグの情報+署名
50
Gitで使うコマンド(17/21)
タグを作るコマンド git tag
オプションを指定することにより自在にタグを作成できる
タグの後にコミットを指定することでコミットにタグを付ける
 git tagの使い方とオプション
51
$ git tag [tag]
$ git tag [tag] [commit name]
オプション 説明
-a 注釈付きタグを作る
-l これまでに作ったタグの一覧を表示する
-l –n これまでに作ったタグをコメント付きで表示する
-s 署名付きタグを作る
リモートリポジトリを使った作業
分散バージョン管理の特徴
リモートリポジトリを使った複数人でのプロジェクト管理
リモートでの版管理の流れ
1. リモートリポジトリを作成
2. リモートリポジトリから更新を取得
3. ファイルの更新
4. ローカルリポジトリ更新
5. リモートリポジトリに反映
52
リモートでの版管理の流れ
53
リモート
リポジトリ
ローカル
リポジトリ
ローカル
リポジトリ
ローカル
ディレクトリ
ローカル
ディレクトリ
ファイル
更新
commit
push fetch
merge
rebase
ネットワークプロトコル(1/2)
リモートリポジトリを利用するためのネットワーク
gitは3つのプロトコルに対応
SSH
git
HTTP/HTTPS
SSH
利用方法はファイルシステムにアクセスするのと同じ
54
[user]@[server]:[repository path]
ネットワークプロトコル(2/2)
git
スピード重視で設計されたgit独自のプロトコル
9148ポートを使用
HTTP/HTTPS
厳格なファイアウォールでも対応可能
GitHubでは非対応
55
git://[server][repository path]
http://[repository path]
Gitで使うコマンド(18/21)
リモートリポジトリを作成する git –bare init
git initではローカルリポジトリを作成した
-bareオプションでワークツリーのないリポジトリとなる
.gitと同じディレクトリ構成になる
リポジトリ名に.gitを習慣的につける
 git –bare initの使い方
56
$ git init --bare [repository]
Gitで使うコマンド(19/21)
リモートリポジトリへ更新を反映する git push
ローカルリポジトリでの変更をリモートに反映させる
リモートとローカルの内容が同じとなる
リモートリポジトリとブランチ元を指定して実行
 git pushの使い方
57
$ git push [repository] [branch]
Gitで使うコマンド(20/21)
リモートリポジトリのクローンを作る git clone
リモートリポジトリのローカルなコピーを作成
プロジェクトを新たなマシンで開発するときに利用
リモートのurlとリポジトリ名を指定して実行
 git cloneの使い方
58
$ git clone [url] [repository]
Gitで使うコマンド(21/21)
リモートリポジトリの更新を取得する git pull
リモートリポジトリの変更履歴をダウンロード
ローカルリポジトリに自動でマージ
競合を手動で回避したい場合は git fetchを使う
 git pullの使い方
59
$ git pull
WindowsでのGit
msysgit
Windows用のGitを操作するツール
CUIとGUIがある
TortoisGit
Windows用のGitを使いやすくするクライアント
実演します
60

Weitere ähnliche Inhalte

Was ist angesagt?

Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門Yoichi Kawasaki
 
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2Kentaro Mitsuyasu
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]DeNA
 
Private Azure Kubernetes Service cluster を触ってみよう♪
Private Azure Kubernetes Service cluster を触ってみよう♪Private Azure Kubernetes Service cluster を触ってみよう♪
Private Azure Kubernetes Service cluster を触ってみよう♪Igarashi Toru
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)NTT DATA Technology & Innovation
 
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Security Conference
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)Toru Makabe
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)NTT DATA Technology & Innovation
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理H2O Space. Co., Ltd.
 
CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎Satoshi Shimazaki
 
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングSpring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングRakuten Group, Inc.
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 

Was ist angesagt? (20)

Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
Private Azure Kubernetes Service cluster を触ってみよう♪
Private Azure Kubernetes Service cluster を触ってみよう♪Private Azure Kubernetes Service cluster を触ってみよう♪
Private Azure Kubernetes Service cluster を触ってみよう♪
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
 
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎
 
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングSpring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 

Ähnlich wie git入門(講義っぽく)

Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
バージョン管理とGit
バージョン管理とGitバージョン管理とGit
バージョン管理とGitsinsoku listy
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアルRyo Igarashi
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 Hiro Yoshioka
 
サイト運用者に向けたバージョン管理について
サイト運用者に向けたバージョン管理についてサイト運用者に向けたバージョン管理について
サイト運用者に向けたバージョン管理についてTakeo Noda
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料Kenji Takei
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Koji Shinba
 
Agileツール適合化分科会(gitとgit hub)
Agileツール適合化分科会(gitとgit hub)Agileツール適合化分科会(gitとgit hub)
Agileツール適合化分科会(gitとgit hub)masanori kataoka
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップHiroaki Murayama
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
Git 入門ちょい手前
Git 入門ちょい手前Git 入門ちょい手前
Git 入門ちょい手前Yuichi Goto
 
バージョン管理システム比較資料
バージョン管理システム比較資料バージョン管理システム比較資料
バージョン管理システム比較資料suzzsegv
 
20130608 git-0
20130608 git-020130608 git-0
20130608 git-0Kasu Unko
 
15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgitTomohiro MITSUMUNE
 
Git勉強会資料
Git勉強会資料Git勉強会資料
Git勉強会資料Kenji Takei
 
git&GitHub&SourceTree入門
git&GitHub&SourceTree入門git&GitHub&SourceTree入門
git&GitHub&SourceTree入門Gamu2059
 
Git SourceTreeでバージョン管理しよう
Git SourceTreeでバージョン管理しようGit SourceTreeでバージョン管理しよう
Git SourceTreeでバージョン管理しよう富士見研究所
 

Ähnlich wie git入門(講義っぽく) (20)

Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
バージョン管理とGit
バージョン管理とGitバージョン管理とGit
バージョン管理とGit
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアル
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
 
サイト運用者に向けたバージョン管理について
サイト運用者に向けたバージョン管理についてサイト運用者に向けたバージョン管理について
サイト運用者に向けたバージョン管理について
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
 
Agileツール適合化分科会(gitとgit hub)
Agileツール適合化分科会(gitとgit hub)Agileツール適合化分科会(gitとgit hub)
Agileツール適合化分科会(gitとgit hub)
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップ
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
Git 20100313
Git 20100313Git 20100313
Git 20100313
 
Git 入門ちょい手前
Git 入門ちょい手前Git 入門ちょい手前
Git 入門ちょい手前
 
バージョン管理システム比較資料
バージョン管理システム比較資料バージョン管理システム比較資料
バージョン管理システム比較資料
 
20130608 git-0
20130608 git-020130608 git-0
20130608 git-0
 
15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit
 
Git勉強会資料
Git勉強会資料Git勉強会資料
Git勉強会資料
 
git&GitHub&SourceTree入門
git&GitHub&SourceTree入門git&GitHub&SourceTree入門
git&GitHub&SourceTree入門
 
Git SourceTreeでバージョン管理しよう
Git SourceTreeでバージョン管理しようGit SourceTreeでバージョン管理しよう
Git SourceTreeでバージョン管理しよう
 
Git勉強会 #01
Git勉強会 #01Git勉強会 #01
Git勉強会 #01
 

Mehr von kataware

セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介kataware
 
コンパイラ(Lexとyaccを使う)
コンパイラ(Lexとyaccを使う)コンパイラ(Lexとyaccを使う)
コンパイラ(Lexとyaccを使う)kataware
 
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~kataware
 
Isolation forest
Isolation forestIsolation forest
Isolation forestkataware
 

Mehr von kataware (6)

セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介
 
コンパイラ(Lexとyaccを使う)
コンパイラ(Lexとyaccを使う)コンパイラ(Lexとyaccを使う)
コンパイラ(Lexとyaccを使う)
 
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~
 
Isolation forest
Isolation forestIsolation forest
Isolation forest
 
0511 lt
0511 lt0511 lt
0511 lt
 
Abc#004d
Abc#004dAbc#004d
Abc#004d
 

git入門(講義っぽく)