Enviar pesquisa
Carregar
Gitのつくりかた YAPC::Asia 2015 @DQNEO
•
13 gostaram
•
22,510 visualizações
D
DQNEO
Seguir
Gitはつくれる!!11 YAPC::Asia 2015のLT発表資料です。
Leia menos
Leia mais
Engenharia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 35
Baixar agora
Baixar para ler offline
Recomendados
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
Youhei Nitta
Github of project
Github of project
Ito Kunihiko
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方
Takahiro Fujiwara
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
Reimi Kuramochi Chiba
Gitはじめの一歩
Gitはじめの一歩
Ayana Yokota
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
mihararyosuke
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
H2O Space. Co., Ltd.
Recomendados
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
Youhei Nitta
Github of project
Github of project
Ito Kunihiko
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方
Takahiro Fujiwara
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
Reimi Kuramochi Chiba
Gitはじめの一歩
Gitはじめの一歩
Ayana Yokota
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
mihararyosuke
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
H2O Space. Co., Ltd.
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
Yapc2012資料
Yapc2012資料
matsuo kenji
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
Shihomi Katayama
やりなおせる Git 入門
やりなおせる Git 入門
Tomohiko Himura
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門
Mizuki Ugajin
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
Makoto Kawano
2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ
Ayana Yokota
会社に Github導入した話
会社に Github導入した話
Yutaka Kinjyo
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南
Kouji Matsui
Git入門 (Windows)
Git入門 (Windows)
Tomo Mizoe
ノンプログラマのGit入門
ノンプログラマのGit入門
Muyuu Fujita
Git @ NNCT programming workshop
Git @ NNCT programming workshop
NNCT programming study group
LT 手作りGit
LT 手作りGit
hiroki tanaka
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
ymmt
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
Tomohiko Himura
初心者がGoでCLIツール作ってみて学んだこと
初心者がGoでCLIツール作ってみて学んだこと
Yuta Ohashi
Git flow
Git flow
Takami Aoyama
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
hibiki443
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
Emma Haruka Iwao
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
Hisateru Tanaka
Introduction git
Introduction git
Misa Kondo
Gitの紹介
Gitの紹介
Shoot Morii
Mais conteúdo relacionado
Mais procurados
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
Yapc2012資料
Yapc2012資料
matsuo kenji
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
Shihomi Katayama
やりなおせる Git 入門
やりなおせる Git 入門
Tomohiko Himura
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門
Mizuki Ugajin
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
Makoto Kawano
2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ
Ayana Yokota
会社に Github導入した話
会社に Github導入した話
Yutaka Kinjyo
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南
Kouji Matsui
Git入門 (Windows)
Git入門 (Windows)
Tomo Mizoe
ノンプログラマのGit入門
ノンプログラマのGit入門
Muyuu Fujita
Git @ NNCT programming workshop
Git @ NNCT programming workshop
NNCT programming study group
LT 手作りGit
LT 手作りGit
hiroki tanaka
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
ymmt
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
Tomohiko Himura
初心者がGoでCLIツール作ってみて学んだこと
初心者がGoでCLIツール作ってみて学んだこと
Yuta Ohashi
Git flow
Git flow
Takami Aoyama
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
hibiki443
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
Emma Haruka Iwao
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
Hisateru Tanaka
Mais procurados
(20)
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yapc2012資料
Yapc2012資料
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
やりなおせる Git 入門
やりなおせる Git 入門
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ
会社に Github導入した話
会社に Github導入した話
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南
Git入門 (Windows)
Git入門 (Windows)
ノンプログラマのGit入門
ノンプログラマのGit入門
Git @ NNCT programming workshop
Git @ NNCT programming workshop
LT 手作りGit
LT 手作りGit
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
初心者がGoでCLIツール作ってみて学んだこと
初心者がGoでCLIツール作ってみて学んだこと
Git flow
Git flow
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
Semelhante a Gitのつくりかた YAPC::Asia 2015 @DQNEO
Introduction git
Introduction git
Misa Kondo
Gitの紹介
Gitの紹介
Shoot Morii
今日から始めるGithub
今日から始めるGithub
lion-man
Github第4章
Github第4章
Yuto Suzuki
底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた
Yudai Fujita
Git地図
Git地図
yoshiaki iwanaga
Git初心者にどう教える? マンガでわかるGit
Git初心者にどう教える? マンガでわかるGit
Ai Minatogawa
GitHub勉強会
GitHub勉強会
ArusuDev
Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
About git
About git
asakohasegawa
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
Takuya Mukohira
色んな環境用の たった一つの.gitConfig
色んな環境用の たった一つの.gitConfig
wataru uchiyama
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回
kinme modoki
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!
Hiroshi Maekawa
Git超入門
Git超入門
Shun Nishitsuji
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
Taiji Tsuchiya
15分でわかるGit入門
15分でわかるGit入門
to_ueda
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
Hajime Ogushi
Git_GiHub講習会.pdf
Git_GiHub講習会.pdf
Takara Ishimoto
ゆるふわっGit入門
ゆるふわっGit入門
Keisuke Oohata
Semelhante a Gitのつくりかた YAPC::Asia 2015 @DQNEO
(20)
Introduction git
Introduction git
Gitの紹介
Gitの紹介
今日から始めるGithub
今日から始めるGithub
Github第4章
Github第4章
底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた
Git地図
Git地図
Git初心者にどう教える? マンガでわかるGit
Git初心者にどう教える? マンガでわかるGit
GitHub勉強会
GitHub勉強会
Git社内勉強会資料
Git社内勉強会資料
About git
About git
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
色んな環境用の たった一つの.gitConfig
色んな環境用の たった一つの.gitConfig
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!
Git超入門
Git超入門
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
15分でわかるGit入門
15分でわかるGit入門
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
「Gitが、おもしろいほどわかる基本の使い方33」 出版記念セミナー
Git_GiHub講習会.pdf
Git_GiHub講習会.pdf
ゆるふわっGit入門
ゆるふわっGit入門
Mais de DQNEO
PHPの戻り値型宣言でselfを使ってみよう
PHPの戻り値型宣言でselfを使ってみよう
DQNEO
Git tips by symbols
Git tips by symbols
DQNEO
Introduction to Guzzle
Introduction to Guzzle
DQNEO
install PHP7 on CentOS7 by Ansible
install PHP7 on CentOS7 by Ansible
DQNEO
Dependency Injection and Pimple
Dependency Injection and Pimple
DQNEO
plenv時代のImageMagick && Image::Magickインストール方法
plenv時代のImageMagick && Image::Magickインストール方法
DQNEO
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・
DQNEO
桐島、ファイルに 保存するの やめるってよ
桐島、ファイルに 保存するの やめるってよ
DQNEO
Mais de DQNEO
(9)
PHPの戻り値型宣言でselfを使ってみよう
PHPの戻り値型宣言でselfを使ってみよう
Git tips by symbols
Git tips by symbols
Introduction to Guzzle
Introduction to Guzzle
install PHP7 on CentOS7 by Ansible
install PHP7 on CentOS7 by Ansible
Dependency Injection and Pimple
Dependency Injection and Pimple
plenv時代のImageMagick && Image::Magickインストール方法
plenv時代のImageMagick && Image::Magickインストール方法
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・
桐島、ファイルに 保存するの やめるってよ
桐島、ファイルに 保存するの やめるってよ
Gitのつくりかた YAPC::Asia 2015 @DQNEO
1.
Gitのつくりかた How to make
a Git YAPC::Asia 2015 @DQNEO
2.
@DQNEO (どきゅねお)
3.
就職しますた Got a job
!!
4.
Gitを理解する最良の方法、 それは自分でGitを 実装してみることです
5.
Gitを理解する最良の方法、 それは自分でGitを 実装してみることです ̶ DQNEO ̶
6.
Gitとは何か? What is Git
?
7.
バージョン管理システム Version Controle System
8.
バージョン管理システム Version Controle System
9.
見方を変えてみよう Take a look
in another way
10.
中から見た場合 View inside
11.
コンテンツ管理システム Contents Management System
12.
コンテンツとは何か? What is Content
?
13.
ソースコードだったり Source Code
14.
画像だったり Image
15.
Gitはコンテンツをどのように 格納しているのか? How does Git store
contents?
16.
キーバリューストア Key Value Store
17.
Key 3b18e512dba79e4c8300dd08aeb37f8e728b8dad sha1 hash
18.
.git/objects/3b/18e2. . .
. Key
19.
$ hexdump -C
.git/objects/3b/18e512… 78 01 4b ca c9 4f 52 30 34 62 c8 48 cd c9 c9 57 28 cf 2f ca 49 e1 02 00 44 11 06 89 Value zlib圧縮されたナニカ
20.
Valueの作り方 hello worldn
21.
Valueの作り方 hello worldn => 12
bytes
22.
Valueの作り方 blob 120hello worldn
23.
Valueの作り方 blob 120hello worldn ↑これをzlib圧縮する
24.
$ hexdump -C
.git/objects/3b/18e512… 78 01 4b ca c9 4f 52 30 34 62 c8 48 cd c9 c9 57 28 cf 2f ca 49 e1 02 00 44 11 06 89 Value
25.
圧縮して保存 : git
add 解凍して取得 : git cat-file -p
26.
作ってみよう!11 Let s make
it !!
27.
git cat-file -p =>
KVSからgetするコマンド
28.
zlib解凍
29.
$ my_git_cat_file-p 18/e512dba79e4c830 hello
world my_git_cat_file-pコマンド
30.
これを応用すれば git checkout ができる
31.
こんな感じで1個ずつサブ コマンドを作っていけば
32.
Gitはつくれる!! You can make
a Git !!
33.
https://github.com/DQNEO/minigit 作ってみた(途中まで)
34.
ご清聴ありがとうございました。 Thank you !
35.
人材募集中! We are hiring
!
Baixar agora