SlideShare a Scribd company logo
Git勉強会 #01
今回の目標
• Gitが何かわかる
• Gitの基本的な使い方がわかる
• Gitの内部構造を知って、動作のイメージがわかる
Gitとは何か?
• 分散型バージョン管理システム
(Distributed version control)
バージョン管理システム?
• ファイルの変更履歴の管理を行う。
• ファイルの変更履歴をみんなで共有。
• Git以外ではCVS, Subversionなどがある。
分散?
• 分散型バージョン管理システムでは、複数のレポジトリが存在し、
それぞれで変更内容の管理を行う。
• レポジトリ間で同期することで変更内容を共有することができる。
• CVSなどとは違いサーバにレポジトリがなくても利用できるため簡
単にはじめられ、ネットワークがつながっていなくても利用できる
。
• レポジトリごとに変更内容の管理を行うので、実験的な変更など他
者と共有したくない変更の管理も簡単である。
Git使い方
• 初期設定(名前、メール設定)
• git config --global user.name "Your Name”
• git config --global user.email you@example.com
レポジトリ作成
• レポジトリ用のディレクトリ作成
• mkdir gittest
• cd gittest
• レポジトリを初期化
• git init
コミット
• コミットするファイル作成
• echo "hello world" > hello.txt
• Gitにファイルを登録
• git add hello.txt
• Gitにコミット
• git commit -m "Add hello.txt"
履歴確認
• 履歴確認
• git log
ブランチ
• masterブランチから新しいnew-fileブランチを作成
(masterはデフォルトのブランチ)
• git checkout master -b new-file
• new-fileブランチ上でファイル追加
• echo "Brave New World" > newworld.txt
• git add newworld.txt
• git commit -m "Add newworld.txt"
マージ
• masterブランチにnew-fileブランチをマージ
• git checkout master
• git merge new-file
Git内部構造
• Gitはオブジェクトストレージ。
• Blob, Tree, Commit, Tagの4つのオブジェクトを管理
• オブジェクト内容からSHA1のハッシュ値をオブジェク
トの一意キーになる。
• ブランチなどはオブジェクトへの参照で表される。
• レポジトリ内の.gitディレクトリに保存される
Blob
SHA1 : 3b18e512dba79e4c8300dd08aeb37f8e728b8dad
hello world
ファイル名: hello.txt
ファイルの内容を保持する
Tree
100644 blob 3b18e512dba79e4c8300dd08aeb37f8e728b8dad hello.txt
040000 tree a7328a128a47e4ac172f61d055403b32a189b772 subdir
ディレクトリ構成を保持する
Blob, Treeの情報を含みます。
SHA1: 68aba62e560c0ebc3396e8ae9335232cd93a3f60
Commit
tree 68aba62e560c0ebc3396e8ae9335232cd93a3f60
author Your Name <you@example.com> 1446829094 +0900
committer Your Name <you@example.com> 1446829094 +0900
Add hello.txt
コミットを表す。
Treeへ参照、親となるCommitの参照、メッセージなどを含む
SHA1: ea30e75531083ef416eb90af8528d9c2ed254ed9
変更履歴
commit
commit commit
commit
HEAD
ブランチ
変更履歴はコミットをノード、
親となるCommitへの参照をエッジとしたグラフになる
質問タイム

More Related Content

What's hot

【アジャイル道場】Git運用勉強会
【アジャイル道場】Git運用勉強会【アジャイル道場】Git運用勉強会
【アジャイル道場】Git運用勉強会
Sosuke Kimura
 
20150801 QGIS初心者講習会資料
20150801 QGIS初心者講習会資料20150801 QGIS初心者講習会資料
20150801 QGIS初心者講習会資料
openconcierge
 
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
 
Git for iOS beginner
Git for iOS beginnerGit for iOS beginner
Git for iOS beginnerbibmeke
 
20130608 git-0
20130608 git-020130608 git-0
20130608 git-0
Kasu Unko
 
Tortoise hgのすすめ
Tortoise hgのすすめTortoise hgのすすめ
Tortoise hgのすすめsuzzsegv
 
プログラミングで楽しむビットコイン
プログラミングで楽しむビットコインプログラミングで楽しむビットコイン
プログラミングで楽しむビットコイン
Shu Kobuchi
 
openSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成までopenSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成まで
Fuminobu Takeyama
 
Bitbucket入門
Bitbucket入門Bitbucket入門
Bitbucket入門
You&I
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
Sota Sugiura
 
Git, Github超入門
Git, Github超入門Git, Github超入門
Git, Github超入門
Tomoki Saito
 
Github と仲良くなろう!
Github と仲良くなろう!Github と仲良くなろう!
Github と仲良くなろう!
Kentaro Ohkouchi
 
バージョン管理的な何か
バージョン管理的な何かバージョン管理的な何か
バージョン管理的な何か
N Masahiro
 
ブランチ戦略
ブランチ戦略ブランチ戦略
ブランチ戦略
Satoshi Tabeta
 
AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!
Kento Kawakami
 

What's hot (17)

【アジャイル道場】Git運用勉強会
【アジャイル道場】Git運用勉強会【アジャイル道場】Git運用勉強会
【アジャイル道場】Git運用勉強会
 
20150801 QGIS初心者講習会資料
20150801 QGIS初心者講習会資料20150801 QGIS初心者講習会資料
20150801 QGIS初心者講習会資料
 
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 for iOS beginner
Git for iOS beginnerGit for iOS beginner
Git for iOS beginner
 
20130608 git-0
20130608 git-020130608 git-0
20130608 git-0
 
Tortoise hgのすすめ
Tortoise hgのすすめTortoise hgのすすめ
Tortoise hgのすすめ
 
プログラミングで楽しむビットコイン
プログラミングで楽しむビットコインプログラミングで楽しむビットコイン
プログラミングで楽しむビットコイン
 
openSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成までopenSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成まで
 
Bitbucket入門
Bitbucket入門Bitbucket入門
Bitbucket入門
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
 
Git, Github超入門
Git, Github超入門Git, Github超入門
Git, Github超入門
 
Github と仲良くなろう!
Github と仲良くなろう!Github と仲良くなろう!
Github と仲良くなろう!
 
バージョン管理的な何か
バージョン管理的な何かバージョン管理的な何か
バージョン管理的な何か
 
ブランチ戦略
ブランチ戦略ブランチ戦略
ブランチ戦略
 
AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!
 
Pythonについて
PythonについてPythonについて
Pythonについて
 

Viewers also liked

Export in 5 passi
Export in 5 passiExport in 5 passi
Export in 5 passi
Lucilla Rizzini
 
アスキーの記事で見る2015年のクラウド業界
アスキーの記事で見る2015年のクラウド業界アスキーの記事で見る2015年のクラウド業界
アスキーの記事で見る2015年のクラウド業界
Ibisa Otani
 
Nursing Assignment Sample on Case Study on Dementia
Nursing Assignment Sample on Case Study on DementiaNursing Assignment Sample on Case Study on Dementia
Nursing Assignment Sample on Case Study on Dementia
Mary Jones
 
Just Enough Category Theory for Haskell, part 1
Just Enough Category Theory for Haskell, part 1Just Enough Category Theory for Haskell, part 1
Just Enough Category Theory for Haskell, part 1
Heejong Ahn
 
Enkel vela nje krahasim midis arkitekturave te driver
Enkel vela nje krahasim midis arkitekturave te driverEnkel vela nje krahasim midis arkitekturave te driver
Enkel vela nje krahasim midis arkitekturave te driver
Enkel Vela
 
COFUS ASISTENCIJE
COFUS ASISTENCIJECOFUS ASISTENCIJE
COFUS ASISTENCIJE
Goran Vukalovic
 
Secure Business WiFi
Secure Business WiFiSecure Business WiFi
Secure Business WiFi
Kim Devins
 
CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014
CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014
CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014
Elisabeth RUSS
 
Research in council tax
Research in council taxResearch in council tax
Research in council tax
Zixin Li
 
Hemorragias del segundo y tercer trimestre del embarazo
Hemorragias del segundo y tercer trimestre del embarazoHemorragias del segundo y tercer trimestre del embarazo
Hemorragias del segundo y tercer trimestre del embarazo
BEN NAIMES
 
Power point tik
Power point tikPower point tik
Power point tik
Bella AhbaabulMusthofa
 
더 나은 팀을 위하여
더 나은 팀을 위하여더 나은 팀을 위하여
더 나은 팀을 위하여
Heejong Ahn
 
Sesión IV.Naturaleza de la teología
Sesión IV.Naturaleza de la teologíaSesión IV.Naturaleza de la teología
Sesión IV.Naturaleza de la teología
Ángela Patricia Cadavid Vélez
 
Pajak penghasilan pasal 26
Pajak penghasilan pasal 26Pajak penghasilan pasal 26
Pajak penghasilan pasal 26
Suryani -
 
SWAP Informe pericial. Modelo
SWAP Informe pericial. ModeloSWAP Informe pericial. Modelo
SWAP Informe pericial. Modelo
Manuel Lacarte
 

Viewers also liked (15)

Export in 5 passi
Export in 5 passiExport in 5 passi
Export in 5 passi
 
アスキーの記事で見る2015年のクラウド業界
アスキーの記事で見る2015年のクラウド業界アスキーの記事で見る2015年のクラウド業界
アスキーの記事で見る2015年のクラウド業界
 
Nursing Assignment Sample on Case Study on Dementia
Nursing Assignment Sample on Case Study on DementiaNursing Assignment Sample on Case Study on Dementia
Nursing Assignment Sample on Case Study on Dementia
 
Just Enough Category Theory for Haskell, part 1
Just Enough Category Theory for Haskell, part 1Just Enough Category Theory for Haskell, part 1
Just Enough Category Theory for Haskell, part 1
 
Enkel vela nje krahasim midis arkitekturave te driver
Enkel vela nje krahasim midis arkitekturave te driverEnkel vela nje krahasim midis arkitekturave te driver
Enkel vela nje krahasim midis arkitekturave te driver
 
COFUS ASISTENCIJE
COFUS ASISTENCIJECOFUS ASISTENCIJE
COFUS ASISTENCIJE
 
Secure Business WiFi
Secure Business WiFiSecure Business WiFi
Secure Business WiFi
 
CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014
CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014
CANCERS MAMMAIRES IN SITU : Quelles nouveautés dans les CLIS? REIMS 2014
 
Research in council tax
Research in council taxResearch in council tax
Research in council tax
 
Hemorragias del segundo y tercer trimestre del embarazo
Hemorragias del segundo y tercer trimestre del embarazoHemorragias del segundo y tercer trimestre del embarazo
Hemorragias del segundo y tercer trimestre del embarazo
 
Power point tik
Power point tikPower point tik
Power point tik
 
더 나은 팀을 위하여
더 나은 팀을 위하여더 나은 팀을 위하여
더 나은 팀을 위하여
 
Sesión IV.Naturaleza de la teología
Sesión IV.Naturaleza de la teologíaSesión IV.Naturaleza de la teología
Sesión IV.Naturaleza de la teología
 
Pajak penghasilan pasal 26
Pajak penghasilan pasal 26Pajak penghasilan pasal 26
Pajak penghasilan pasal 26
 
SWAP Informe pericial. Modelo
SWAP Informe pericial. ModeloSWAP Informe pericial. Modelo
SWAP Informe pericial. Modelo
 

Similar to Git勉強会 #01

ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門
Keisuke Oohata
 
git&GitHub&SourceTree入門
git&GitHub&SourceTree入門git&GitHub&SourceTree入門
git&GitHub&SourceTree入門
Gamu2059
 
Git勉強会資料
Git勉強会資料Git勉強会資料
Git勉強会資料
Kenji Takei
 
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
lolipopjp
 
8つの操作ではじめるGit
8つの操作ではじめるGit8つの操作ではじめるGit
8つの操作ではじめるGit
DelfinoAzul
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
 
Git 入門ちょい手前
Git 入門ちょい手前Git 入門ちょい手前
Git 入門ちょい手前
Yuichi Goto
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji Manno
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアル
MasakiKato14
 
git入門(講義っぽく)
git入門(講義っぽく)git入門(講義っぽく)
git入門(講義っぽく)
kataware
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
kazuki kuriyama
 
about git
about gitabout git
about git
Shota Todoroki
 
バージョン管理Git
バージョン管理Gitバージョン管理Git
バージョン管理Git
松本 雄貴
 
【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章
Akira Torii
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
Yoshiki Tanaka
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
hibiki443
 
Introduction git
Introduction gitIntroduction git
Introduction git
Misa Kondo
 

Similar to Git勉強会 #01 (20)

ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門
 
git&GitHub&SourceTree入門
git&GitHub&SourceTree入門git&GitHub&SourceTree入門
git&GitHub&SourceTree入門
 
Git勉強会資料
Git勉強会資料Git勉強会資料
Git勉強会資料
 
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
 
8つの操作ではじめるGit
8つの操作ではじめるGit8つの操作ではじめるGit
8つの操作ではじめるGit
 
git-webtouchmeeting
git-webtouchmeetinggit-webtouchmeeting
git-webtouchmeeting
 
Bitbucket and git
Bitbucket and gitBitbucket and git
Bitbucket and git
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
Git 入門ちょい手前
Git 入門ちょい手前Git 入門ちょい手前
Git 入門ちょい手前
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアル
 
git入門(講義っぽく)
git入門(講義っぽく)git入門(講義っぽく)
git入門(講義っぽく)
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
 
about git
about gitabout git
about git
 
バージョン管理Git
バージョン管理Gitバージョン管理Git
バージョン管理Git
 
【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
 
Introduction git
Introduction gitIntroduction git
Introduction git
 

Recently uploaded

Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet DocumentationRaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
GrapeCity, inc.
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。
GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。
GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。
Hibiki Mizuno
 

Recently uploaded (7)

Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
 
RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19
 
RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19
 
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet DocumentationRaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
 
RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19
 
GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。
GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。
GPT - 振り返りフレームワークKPTをちょっとKAIZENしてちょうど良いフレームワークに。
 

Git勉強会 #01