Submit Search
DVCSとGitの基礎
4 likes
7,579 views
sinsoku listy
1 of 31
Download now
Downloaded 13 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
More Related Content
PDF
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
Shohei Okada
PDF
例外設計における大罪
Takuto Wada
PPTX
Redisの特徴と活用方法について
Yuji Otani
PPTX
MLOpsはバズワード
Tetsutaro Watanabe
PDF
外部キー制約に伴うロックの小話
ichirin2501
PDF
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
PPTX
ぼくとJenkinsおじさんの360日戦争
goccy
PDF
良い?悪い?コードコメントの書き方
Shigenori Sagawa
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
Shohei Okada
例外設計における大罪
Takuto Wada
Redisの特徴と活用方法について
Yuji Otani
MLOpsはバズワード
Tetsutaro Watanabe
外部キー制約に伴うロックの小話
ichirin2501
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
ぼくとJenkinsおじさんの360日戦争
goccy
良い?悪い?コードコメントの書き方
Shigenori Sagawa
What's hot
(20)
PDF
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
PPTX
振り返り(アジャイルレトロスペクティブズ)
Keisuke Tameyasu
PDF
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
PDF
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
PDF
いつやるの?Git入門
Masakazu Matsushita
PDF
Spring bootでweb 基本編
なべ
PDF
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
Kuniharu(州晴) AKAHANE(赤羽根)
PDF
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
PDF
マイクロサービス 4つの分割アプローチ
増田 亨
PDF
君はyarn.lockをコミットしているか?
Teppei Sato
PDF
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
PPTX
ASP.NET Core の パフォーマンスを支える I/O Pipeline と Channel
Joni
PPTX
Polyphony: Python ではじめる FPGA
ryos36
PDF
ドキュメントシステムはこれを使え2015年版
Keiichiro Shikano
PDF
Gitはじめの一歩
Ayana Yokota
PDF
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
de:code 2017
PDF
こわくない Git
Kota Saito
PDF
とあるメーカーのRedmine活用事例
agileware_jp
PDF
ドメイン駆動設計の正しい歩き方
増田 亨
PPTX
ブランチを綺麗に保ち、どうやって本番アップするのか
Saeko Yamamoto
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
振り返り(アジャイルレトロスペクティブズ)
Keisuke Tameyasu
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
いつやるの?Git入門
Masakazu Matsushita
Spring bootでweb 基本編
なべ
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
Kuniharu(州晴) AKAHANE(赤羽根)
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
マイクロサービス 4つの分割アプローチ
増田 亨
君はyarn.lockをコミットしているか?
Teppei Sato
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
ASP.NET Core の パフォーマンスを支える I/O Pipeline と Channel
Joni
Polyphony: Python ではじめる FPGA
ryos36
ドキュメントシステムはこれを使え2015年版
Keiichiro Shikano
Gitはじめの一歩
Ayana Yokota
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
de:code 2017
こわくない Git
Kota Saito
とあるメーカーのRedmine活用事例
agileware_jp
ドメイン駆動設計の正しい歩き方
増田 亨
ブランチを綺麗に保ち、どうやって本番アップするのか
Saeko Yamamoto
Ad
Similar to DVCSとGitの基礎
(20)
PDF
Getting started with Windows Containers
Kazuki Takai
PDF
Mercurial入門(前半)
You&I
PDF
SVN入門
Francisco Dalla Rosa Soares
PDF
Windows Server 2019 で Container を使ってみる
Kazuki Takai
PDF
Version管理 1
hakoika-itwg
PDF
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
PDF
CIデモ環境 構築手順書
VirtualTech Japan Inc.
PPTX
SC2012 VMM SP1 Update ヒーロー島 版
Kishima Masakazu
PDF
VMware vForum/VSS2013にて発表されたNetAppセッションコンテンツ
NetApp Japan
PDF
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
wintechq
PPT
20060419
小野 修司
PPTX
Cld018 コンテナ go_~あなた
Tech Summit 2016
PDF
Cld018 コンテナ go_~あなた
Tech Summit 2016
PDF
Docker 17.06 Updates 最近何が変わったの?
Masahito Zembutsu
PDF
超簡単!バージョン管理入門 最初の一歩
Shin Tanigawa
PDF
クラウド概略(プレゼン)
真乙 九龍
PDF
フロントエンド開発環境
Masaki Kawaguchi
PDF
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
満徳 関
PDF
Amazon EC2 Container Service Deep dive
Amazon Web Services Japan
PDF
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Takamasa Maejima
Getting started with Windows Containers
Kazuki Takai
Mercurial入門(前半)
You&I
SVN入門
Francisco Dalla Rosa Soares
Windows Server 2019 で Container を使ってみる
Kazuki Takai
Version管理 1
hakoika-itwg
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
CIデモ環境 構築手順書
VirtualTech Japan Inc.
SC2012 VMM SP1 Update ヒーロー島 版
Kishima Masakazu
VMware vForum/VSS2013にて発表されたNetAppセッションコンテンツ
NetApp Japan
書籍を執筆して気づいた Windows Server 2012 R2 過去のサーバーOSとの違い
wintechq
20060419
小野 修司
Cld018 コンテナ go_~あなた
Tech Summit 2016
Cld018 コンテナ go_~あなた
Tech Summit 2016
Docker 17.06 Updates 最近何が変わったの?
Masahito Zembutsu
超簡単!バージョン管理入門 最初の一歩
Shin Tanigawa
クラウド概略(プレゼン)
真乙 九龍
フロントエンド開発環境
Masaki Kawaguchi
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
満徳 関
Amazon EC2 Container Service Deep dive
Amazon Web Services Japan
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Takamasa Maejima
Ad
More from sinsoku listy
(20)
PDF
Rails6にいつ上げるか?
sinsoku listy
PDF
Rails Testing on Fargate
sinsoku listy
PDF
Search Form for Rails
sinsoku listy
PDF
ENGINEER WORK!!
sinsoku listy
PDF
自己修復的なインフラ -Self-Healing Infrastructure-
sinsoku listy
PDF
毎日gemをアップグレードする生活
sinsoku listy
PDF
Rails 5.2: credentials
sinsoku listy
PDF
Randomly Failing Specs
sinsoku listy
PDF
技術的負債とリファクタリング
sinsoku listy
PDF
Git 初心者講座 by forkwell
sinsoku listy
PDF
Swift on Docker
sinsoku listy
PDF
ES2015のカバレッジ計測
sinsoku listy
PDF
CSSのカバレッジツール
sinsoku listy
PDF
本当にあった怖い話 7つの幽霊 7つの成仏
sinsoku listy
PDF
Awsでwindowsゲームを動かす
sinsoku listy
PDF
Action pack variantsの話
sinsoku listy
PDF
LT_Gitのfast fowardと継続的デリバリー
sinsoku listy
PDF
バージョン管理とGit
sinsoku listy
PDF
Git天空闘技場_ハンズオン
sinsoku listy
ODP
20101001 5分でわかるtrac pluginの作り方_slideshare
sinsoku listy
Rails6にいつ上げるか?
sinsoku listy
Rails Testing on Fargate
sinsoku listy
Search Form for Rails
sinsoku listy
ENGINEER WORK!!
sinsoku listy
自己修復的なインフラ -Self-Healing Infrastructure-
sinsoku listy
毎日gemをアップグレードする生活
sinsoku listy
Rails 5.2: credentials
sinsoku listy
Randomly Failing Specs
sinsoku listy
技術的負債とリファクタリング
sinsoku listy
Git 初心者講座 by forkwell
sinsoku listy
Swift on Docker
sinsoku listy
ES2015のカバレッジ計測
sinsoku listy
CSSのカバレッジツール
sinsoku listy
本当にあった怖い話 7つの幽霊 7つの成仏
sinsoku listy
Awsでwindowsゲームを動かす
sinsoku listy
Action pack variantsの話
sinsoku listy
LT_Gitのfast fowardと継続的デリバリー
sinsoku listy
バージョン管理とGit
sinsoku listy
Git天空闘技場_ハンズオン
sinsoku listy
20101001 5分でわかるtrac pluginの作り方_slideshare
sinsoku listy
DVCSとGitの基礎
1.
DVCSとGitの基礎 1〜200階(ズシレベル)
2.
1階: まずは基本から
3.
PC内のファイルの変更履歴を保存するシステム。 主な機能は、版管理されているファイルの ● 作成・変更日時 ● 変更者 ●
変更箇所 ● 変更理由 などを保存すること。 VCSとは?
4.
VCSの例 集中型 ● VSS(Visual SourceSafe) ●
SVN(Subversion) 分散型 ● Git ● Mercurial ● Fossil ● Veracity ...などなど Safe...?
5.
SVNのイメージ(集中型) リポジトリ README Hello.java README
Hello.java 履歴の作成 作業コピー の更新 作業コピー
6.
SVNの変更履歴のイメージ README の追加 Hello.java の実装 README の編集 rev: 1 rev: 2 rev:
3 リポジトリ
7.
SVN(集中型)の特徴 ● リポジトリを全員で共有 ● 一般的に遅い ○
変更の送信 ○ 作業コピーの更新 ○ 変更履歴の表示 ● 可用性が低い
8.
50階: DVCS
9.
Gitのイメージ(分散型) リポジトリ README Hollo.java 履歴の作成 作業コピー の更新 作業コピー
10.
Gitのイメージ(分散型) リポジト リ 履歴の送信 履歴の受信 作業コピー リポジト リ 履歴の作成 作業コピー の更新 リポジトリ経由
11.
Gitのイメージ(分散型) リポジト リ 履歴の送信 履歴の受信 作業コピー リポジト リ 履歴の作成 作業コピー の更新 リポジト リ 中央 ローカル
12.
Gitの変更履歴のイメージ リポジトリ リポジトリ 中央 README の追加 rev: 1a README の追加rev: 1a
13.
Gitの変更履歴のイメージ リポジトリ リポジトリ README の追加 rev: 1a リポジトリ 中央 README の追加 rev:
1a README の追加rev: 1a
14.
Gitの変更履歴のイメージ リポジトリ リポジトリ README の追加 rev: 1a Hello.java の実装 rev:
9d リポジトリ 中央 README の追加 rev: 1a READMEの 編集 rev: 5f README の追加rev: 1a
15.
Gitの変更履歴のイメージ リポジトリ リポジトリ README の追加 rev: 1a Hello.java の実装 rev:
9d リポジトリ 中央 README の追加 rev: 1a READMEの 編集 rev: 5f README の追加rev: 1a Hello.java の実装 rev: 9dREADME の編集 rev: 5f
16.
Git(分散型)の特徴 ● ローカルでの操作が速い ● ローカルの変更は他ユーザに影響しな い(=他ユーザに影響を受けない) ●
可用性が高い ● マージが安全 ○ 説明略 ● 変更履歴の編集が可能 ○ 説明略(200階: ハンズオンで説明)
17.
100階: Gitのオブジェクト
18.
オブジェクトとは? Gitはプロジェクトの状態をオブジェクトと呼ばれる 形で記録している。オブジェクトはSHA-1で統一的 な方式で記録されるようになっている。 ● blob ○ ファイルの中身を表すオブジェクト ●
tree ○ ディレクトリの中身と各blobとの対応を表すオブジェクト ● commit ○ ルートツリーおよびメタデータを持つオブジェクト ● tag ○ 特定のコミットへのポインタを含むオブジェクト
19.
● ファイルに対応する ● 右図のようなデータを作る ○
ヘッダ情報(型とサイズ) ○ ボディはファイルの中身 ● zlibで圧縮 → SHA-1生成 blob blob size README ========= Git Project
20.
● ディレクトリに対応する ● 型、SHA-1、ファイル名 を記録する ●
型の種類 ○ 100644 通常のファイル ○ 100755 実行可能ファイル ○ 120000 シンボリックリンク ○ 40000 ディレクトリ ○ 160000 サブモジュール ● zlibで圧縮 → SHA-1生成 tree tree size 40000 01ab src/ 100644 03bd .gitignore 100644 02ed README
21.
● 変更履歴に対応する ● メタデータを記録 ○
プロジェクトルートのtree のSHA-1 ○ 親のコミット ○ 著者、記録者(commiter) ○ ログ ○ コミット日時 ● zlib圧縮 → SHA-1生成 commit commit size tree 5dba parent 9f4a author sinsoku commiter sinsoku READMEを追加
22.
● タグに対応する ● メタデータを記録 ○
コミットのSHA-1 ○ タグ作成者 ○ タグ作成日時 ○ ログ ● zlibで圧縮 → SHA-1生成 tag tag size commit 89aa tagger sinsoku date 2013/04/20 v1.0.0をリリース
23.
全体のイメージ blob size *.java tree size 100644
01ab main/ 100644 01ab test/ commit size tree 5dba author sinsoku commiter sinsoku READMEを追加 tree size 40000 01ab src/ 100644 03bd .gitignore 100644 02ed README blob size README ========= Git Project rev: 5dbarev: 89aa rev: 03bd rev: 02ed rev: 01ab
24.
150階: Gitリポジトリの内部構造
25.
リポジトリの内部構造 今日のハンズオンに必要な箇所を抜粋 ● .git/HEAD HEAD ●
.git/config リポジトリの設定ファイル ● .git/index ステージングエリア(180階) ● objects/ 各オブジェクト ● hooks/ git-hooks ● refs/ ブランチ、タグ
26.
180階: ステージングエリア
27.
gitのワークフロー 作業コピー ステージング エリア リポジトリ .git/objects/* add FileName commit checkout .git/index
28.
なぜステージングがあるか? 一般的なVCS ● ファイル単位で変更をコミット git ● 1ファイルの一部だけをコミット可 ○
バグ修正、リファクタを別でコミット ○ ファイルを一部だけ元の状態に戻す 意味のある変更単位でコミットできる
29.
200階 受付前: ハンズオン資料の配布
30.
● Git英文マニュアルを読むための予備知識 ○ http://tokkonopapa.github. io/blog/2012/01/17/prior-knowledge-for- git-manual/ ●
HUNTER×HUNTER(著:富樫義博) 参考
31.
ご清聴ありがとうございます
Download