狠狠撸

狠狠撸Share a Scribd company logo
Git/GitHub 超入門
GitHubでたのしいチーム開発
本日のゴール
- Gitたのしい!
- GitHubでチーム開発気持ちい!
git
git
ってなんやろか…
分散バージョン管理システム
…よけいわからん
要すると
分散
して、
バージョン を 管理する
システム
のこと
「バージョン管理」って…?
普段やってること
普段やってること
メモ.txt
メモ
ID: hoge
メモ.txt
メモ
ID: hoge
普段やってること
メモ.txt
メモ
ID: hoge2015
編集中…
普段やってること
メモ.txt
メモ
ID: hoge
メモ.txt
メモ
ID: hoge2015
セーブ!!
普段やってること
メモ.txt
メモ
ID: hoge
メモ.txt
メモ
ID: hoge2015
間違えてた!!
戻したいけど上書きしてんじゃん!!!
バージョンを管理したいとき、
どうしますか?
…よけいわからん
コピーしてバックアップを
とっておく
案その1
コピーをとっておく
最新版index.html
index.html (前のやつ)
index-old.html
index20510620.html
編集用index.htmlindex.html
Git introduction
「バージョン管理」とは
セーブするたびに、
バージョンを振ります
「バージョン管理」とは…
メモ.txt
変更しました!
メモ.txt
セーブしました!
ver. 2
ver. 1
「バージョン管理」とは…
メモ.txt
メモ.txt
やばい間違えてた!
しかも上書きしちゃっ
たよー!!
ver. 2
ver. 1
そんなときにgitなら
メモ.txt
一個前にセーブした
ところ(ver.1)に戻る!
メモ.txt
これで安心!便利!
ver. 2
ver. 1
すべての変更履歴を管理できる
gitのいいところその1
gitのことば
? セーブ = コミット (commit)
? リポジトリ = フォルダ
gitのしくみ
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index.html
style.css
index.html
style.css
commit merge
自分のPCの中
push fetch
みんながみんなのPCで
ネットなくても作業できる
gitのいいところその2
これで驳颈迟使える!
$ git add FILENAME
$ git commit -m “message”
$ git push
1. ステージング?エリアに追加
2. ローカルで変更をセーブ
3. ローカルのセーブをリモートにもセーブ
$ git add FILENAME
$ git commit -m “message”
1. ステージング?エリアに追加
2. ローカルで変更をセーブ
$ git add/commit
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index.html
style.css
index.html
style.css
add/commit
自分のPCの中
$ git add FILENAME
$ git commit -m “message”
$ git push
1. ステージング?エリアに追加
2. ローカルで変更をセーブ
3. ローカルのセーブをリモートにもセーブ
$ git push
3. ローカルのセーブをリモートにもセーブ
$ git push
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index.html
style.css
index.html
style.css
自分のPCの中
push
骋颈迟贬耻产とは
Git introduction
GitHubは、 Gitのリポジトリ
をホスティングするサービス
gitのしくみ
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index.html
style.css
index.html
style.css
commit merge
自分のPCの中
push fetch
GitHub
Git introduction
チーム开発どうやんの
チーム開発のやりかた
トツカのローカルリポジトリ
index.html
style.css
リモートリポジトリ
(GitHubがホスト)
index.html
style.css
index.html
style.css
commit
merge
fetch
push
彼女と共同作业をするとき
彼女と共同作业をするとき
トツカのローカルリポジトリ
index.html
style.css
index.html
style.css
index.html
style.css
commit
merge
fetch
push
彼女のローカルリポジトリ
index.html
style.css
index.html
style.css
commit
merge
fetch
push
リモートリポジトリ
(GitHubがホスト)
リモートリポジトリ
(GitHubがホスト)
彼女と共同作业をするとき
トツカのローカルリポジトリ
index.html
style.css
index.html
style.css
index.html
style.css
commit
merge
fetch
push
彼女のローカルリポジトリ
index.html
style.css
index.html
style.css
commit
merge
fetch
push
これが分散!!!
チーム开発フロー
チーム开発フロー
? 自分のアカウントにデータを複製 (fork)
? ローカル(自分のPCの中)にデータを持ってくる (clone)
? 編集する
? 変更内容をコミット(セーブ)する (add/commit)
? コミット内容をリモート(GitHub上のソース)に反映する (push)
? Pull Requestをだす (GitHubの画面から!)
1. 複製する (fork)
編集したいデータの複製を自分の
GitHubのアカウントにつくれます
GitHubのページから!!
1. 複製する (fork)
ローカルリポジトリ
リモートリポジトリ
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル
1. 複製する (fork)
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
自分のPCの中
fork
GitHub
(自分のアカウント) index.html
style.css
オリジナル
$ git clone https://github…
2. 自分のPCに持ってくる (clone)
リモート(GitHub)から
ローカル(自分のCP)にデータを持ってきます
* URLはGitHubのページからコピペします
2. 自分のPCに持ってくる (clone)
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
2. 自分のPCに持ってくる (clone)
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index.html
style.css
自分のPCの中
clone
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index.html
style.css
3. 編集する
3. 編集する
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index.html
style.css
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index.html
style.css
3. 編集する
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index.html
style.css
編集したった!!!!
$ git commit -m “message”
4. コミット(セーブ)する
ローカル(自分のPCの中)で
変更内容をセーブ!
$ git add FILENAME
commit(セーブ)するファイルを選ぶ
4. コミット(セーブ)する
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index.html
style.css
4. コミット(セーブ)する
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index2.html
style2.css
add / commit
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index2.html
style2.css
$ git push
5. リモートに反映する (push)
ローカル(自分のPC)の中の変更を
リモート(GitHub上)のソースに反映します
5. リモートに反映する(push)
ローカルリポジトリ
index.html
style.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index2.html
style2.css
5. リモートに反映する(push)
ローカルリポジトリ
index2.html
style2.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index2.html
style2.css
push
GitHubのページから!!
6. 変更を取り込んでもらう
(pull request)
オリジナルのレポジトリに
「僕の変更を取り込んでくれ!」
とリクエストします
5. 変更を取り込んでもらう(pull request)
ローカルリポジトリ
index2.html
style2.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index2.html
style2.css
5. リモートに反映する(push)
ローカルリポジトリ
index2.html
style2.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index.html
style.css
オリジナル(本体)
index2.html
style2.css
PR
変更したから取
り込んでよー!!
5. リモートに反映する(push)
ローカルリポジトリ
index2.html
style2.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index2.html
style2.css
オリジナル(本体)
index2.html
style2.css
PR
変更したから取
り込んでよー!!
OK!!!
0. みんなの変更を取り込む
$ git pull upstream master
オリジナルの方のリモート(GitHub上)が変更され
ていたら最新版を自分のソースに取り込む
$ git remote add upstream https://
github.com/okadai-techlab/okayama-u-
techlab.com.git
てくらぼのオリジナルの方もリモート先として登録する
* 登録は最初の一回だけでいいよ! ‘upstrem’って名前じゃなくてもいいよ!
5. 変更を取り込んでもらう(pull request)
ローカルリポジトリ
index2.html
style2.cssリモートリポジトリ
index2.html
style2.css
自分のPCの中
GitHub
(自分のアカウント) index3.html
style3.css
オリジナル(本体)
upstream
index2.html
style2.css
誰かが変更した
(最新版)
複製
origin
5. 変更を取り込んでもらう(pull request)
ローカルリポジトリ
index2.html
style2.cssリモートリポジトリ
index3.html
style3.css
自分のPCの中
GitHub
(自分のアカウント) index3.html
style3.css
index3.html
style3.css
pull
オリジナル(本体)
upstream
複製
origin
彼女と共同作业をするとき
トツカのローカルリポジトリ
index.html
style.css
index.html
style.css
index.html
style.css
commit
merge
push
彼女のローカルリポジトリ
index.html
style.css
index.html
style.css
commit
merge
pull
push
リモートリポジトリ
(GitHubがホスト)
upstream
index.html
style.css
index.html
style.css
push pull push
PR PR
複製
origin
チーム开発フロー
? 自分のアカウントにデータを複製 (fork) … 1回目だけ
? ローカル(自分のPCの中)にデータを持ってくる (clone) … 1回目だけ
? 最新版を取り込む (pull)
? 編集する
? 変更内容をコミット(セーブ)する (add/commit)
? コミット内容をリモート(GitHub上のソースorigin)に反映する (push)
? みんなの変更を取り込む (Pull Requestをだす) -> pullに戻る
Demo
Ad

Recommended

新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
naoki koyama
?
骋颈迟演习(2)
骋颈迟演习(2)
sono8
?
やりなおせる Git 入門
やりなおせる Git 入門
Tomohiko Himura
?
テ?サ?イナのための骋颈迟入门
テ?サ?イナのための骋颈迟入门
dsuke Takaoka
?
ゆるふわっ骋颈迟入门
ゆるふわっ骋颈迟入门
Keisuke Oohata
?
GitとGitHubによる chordのハ?ーシ?ョン管理 for ハ?ント?マン
GitとGitHubによる chordのハ?ーシ?ョン管理 for ハ?ント?マン
Ryu Seino
?
とあるぼっち开発者の忧鬱と骋颈迟
とあるぼっち开発者の忧鬱と骋颈迟
Seiichiro Mishiba
?
Git flowについてまとめてみた
Git flowについてまとめてみた
hiroyuki koga
?
バージョン管理
バージョン管理
Misa Kondo
?
骋颈迟&补尘辫;骋颈迟贬耻产入门
骋颈迟&补尘辫;骋颈迟贬耻产入门
hideaki honda
?
20130608 git-0
20130608 git-0
Kasu Unko
?
骋颈迟贬耻产ワークショッフ?
骋颈迟贬耻产ワークショッフ?
Hiroaki Murayama
?
猫にはわからない骋颈迟讲座
猫にはわからない骋颈迟讲座
Yusei Yamanaka
?
ノンプログラマの骋颈迟入门
ノンプログラマの骋颈迟入门
Muyuu Fujita
?
骋颈迟丑耻产ことはじめ
骋颈迟丑耻产ことはじめ
tikitikipoo
?
骋颈迟とちょっと仲良くなるために覚えたことまとめ
骋颈迟とちょっと仲良くなるために覚えたことまとめ
Natsumi Kashiwa
?
Git 10min
Git 10min
gon6109
?
骋颈迟丑耻产勉强会
骋颈迟丑耻产勉强会
From Atom
?
超ざっくりと骋颈迟について学ぶ
超ざっくりと骋颈迟について学ぶ
tomori
?
Git勉強会 #01
Git勉強会 #01
risaiku リサイク
?
骋颈迟のいいところ
骋颈迟のいいところ
kyanro
?
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
Koji Shinba
?
骋颈迟勉强会资料
骋颈迟勉强会资料
Kenji Takei
?
15分でわかる分散バージョン管理システム驳颈迟
15分でわかる分散バージョン管理システム驳颈迟
Tomohiro MITSUMUNE
?

More Related Content

Similar to Git introduction (20)

バージョン管理
バージョン管理
Misa Kondo
?
骋颈迟&补尘辫;骋颈迟贬耻产入门
骋颈迟&补尘辫;骋颈迟贬耻产入门
hideaki honda
?
20130608 git-0
20130608 git-0
Kasu Unko
?
骋颈迟贬耻产ワークショッフ?
骋颈迟贬耻产ワークショッフ?
Hiroaki Murayama
?
猫にはわからない骋颈迟讲座
猫にはわからない骋颈迟讲座
Yusei Yamanaka
?
ノンプログラマの骋颈迟入门
ノンプログラマの骋颈迟入门
Muyuu Fujita
?
骋颈迟丑耻产ことはじめ
骋颈迟丑耻产ことはじめ
tikitikipoo
?
骋颈迟とちょっと仲良くなるために覚えたことまとめ
骋颈迟とちょっと仲良くなるために覚えたことまとめ
Natsumi Kashiwa
?
Git 10min
Git 10min
gon6109
?
骋颈迟丑耻产勉强会
骋颈迟丑耻产勉强会
From Atom
?
超ざっくりと骋颈迟について学ぶ
超ざっくりと骋颈迟について学ぶ
tomori
?
Git勉強会 #01
Git勉強会 #01
risaiku リサイク
?
骋颈迟のいいところ
骋颈迟のいいところ
kyanro
?
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
Koji Shinba
?
骋颈迟勉强会资料
骋颈迟勉强会资料
Kenji Takei
?
15分でわかる分散バージョン管理システム驳颈迟
15分でわかる分散バージョン管理システム驳颈迟
Tomohiro MITSUMUNE
?
バージョン管理
バージョン管理
Misa Kondo
?
骋颈迟&补尘辫;骋颈迟贬耻产入门
骋颈迟&补尘辫;骋颈迟贬耻产入门
hideaki honda
?
骋颈迟贬耻产ワークショッフ?
骋颈迟贬耻产ワークショッフ?
Hiroaki Murayama
?
猫にはわからない骋颈迟讲座
猫にはわからない骋颈迟讲座
Yusei Yamanaka
?
ノンプログラマの骋颈迟入门
ノンプログラマの骋颈迟入门
Muyuu Fujita
?
骋颈迟丑耻产ことはじめ
骋颈迟丑耻产ことはじめ
tikitikipoo
?
骋颈迟とちょっと仲良くなるために覚えたことまとめ
骋颈迟とちょっと仲良くなるために覚えたことまとめ
Natsumi Kashiwa
?
骋颈迟丑耻产勉强会
骋颈迟丑耻产勉强会
From Atom
?
超ざっくりと骋颈迟について学ぶ
超ざっくりと骋颈迟について学ぶ
tomori
?
骋颈迟のいいところ
骋颈迟のいいところ
kyanro
?
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
Koji Shinba
?
骋颈迟勉强会资料
骋颈迟勉强会资料
Kenji Takei
?
15分でわかる分散バージョン管理システム驳颈迟
15分でわかる分散バージョン管理システム驳颈迟
Tomohiro MITSUMUNE
?

Git introduction