2015年2月23日 wbtoyama 勉強会 はじめようgit

60
Git 分分分分分分分分分分分分分 WordBench 分分 分分分 2015 分 2 分 23 分

Upload: youichi-okada

Post on 05-Aug-2015

95 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Git分散バージョン管理システム

WordBench 富山 勉強会2015 年 2 月 23 日

Page 2: 2015年2月23日 wbtoyama 勉強会 はじめようgit

みなさんバージョン管理は使っていますか?

Page 3: 2015年2月23日 wbtoyama 勉強会 はじめようgit

デザイナーコーダー

プログラマーディレクター

書き手

使ってる 使ってない

2015 年 2 月 23 日  WordBench 富山

Page 4: 2015年2月23日 wbtoyama 勉強会 はじめようgit

デザイナーさんに聞きました

Page 5: 2015年2月23日 wbtoyama 勉強会 はじめようgit

プログラマーさんに聞きました

Page 6: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ちなみに数は推測です

Page 7: 2015年2月23日 wbtoyama 勉強会 はじめようgit

で、バージョン管理って何?

Page 8: 2015年2月23日 wbtoyama 勉強会 はじめようgit

バージョン管理 ( システム )

とは• バージョンを管理するもの

• 過去のファイルの履歴とか見れる

• 誰が編集したか分かる

• いつ編集したかわかる

• 過去に戻れる

Page 9: 2015年2月23日 wbtoyama 勉強会 はじめようgit

あれ?便利そうじゃない?

Page 10: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ケース 1

Page 11: 2015年2月23日 wbtoyama 勉強会 はじめようgit

• ぼく「右側のサイドバーがカラム落ちしていた件、修正しましたー。 style.cssをアップロードしますねー ( ぽちぽち ) 」

Page 12: 2015年2月23日 wbtoyama 勉強会 はじめようgit

• こーだーさん「あれっ?わたしが書いたリストの背景画像のスタイルシートが無くなってるんですけど?」

Page 13: 2015年2月23日 wbtoyama 勉強会 はじめようgit

• ぼく「ええっ、先週の style.css から作ったんですけど」

Page 14: 2015年2月23日 wbtoyama 勉強会 はじめようgit

• コーダーさん「お前いつのファイルあげてんだよ!」

Page 15: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ケース 2

Page 16: 2015年2月23日 wbtoyama 勉強会 はじめようgit

お客さん「ちょっとちょっと、ここバグがあるっぽいんだが?」

お客さん「何度やってもなおらないんだが?どうなってるんだが?」

Page 17: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ぼく「 ( うへー 2 年前の案件だ… ) 」

ぼく「わかりました見てみますー」

Page 18: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ぼく「 ( このコード書いたの俺かよ…覚えてねぇ… ) 」

ぼく「 ( これは…お客さんが書き足したんじゃないのか…? ) 」

ぼく「 ( でも確証は無いし…調べるか… ) 」

Page 19: 2015年2月23日 wbtoyama 勉強会 はじめようgit

三日後

ぼく「こっ、この関数は他の外注が作った関数じゃないか!!」

ぼく「この調査費用だれに出してもらおう…」

幸い僕の携わった案件ではお客さんが優しくてこういうことはありませんでした。

Page 20: 2015年2月23日 wbtoyama 勉強会 はじめようgit

といった問題も( だいたい )すべて解決できます!

Page 21: 2015年2月23日 wbtoyama 勉強会 はじめようgit

今日覚えてもらいたいこと• バージョン管理は便利!

Page 22: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ケース 1 の場合• ダーティーリード

• 汚い読み出し

• 他の人が編集していたのに古いファイルで上書きしてしまったことが原因

Page 23: 2015年2月23日 wbtoyama 勉強会 はじめようgit

バージョン管理を使うと…

Page 24: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ケース 1 の場合• 他の誰かが更新していた場合、警告を受ける!

• ダーティーリードが起こらない!

• 編集箇所は行単位で管理される!

• CSS で該当箇所のみが反映されるので人の変更点を消したりしない!

• 大規模な変更を入れる場合、ファイルをロックする事も可能

Page 25: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ケース 2 の場合• 古いプロジェクトを追いかけられない

• コードの変更点と変更日時、編集者調べることができない

Page 26: 2015年2月23日 wbtoyama 勉強会 はじめようgit

バージョン管理を使うと…

Page 27: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ケース 2 の場合• いつでも最新版のコードを取り出し可能!

• 過去に遡って納品時のデータを取り出せる!

• 編集した日時、編集者を特定できる!

• これ僕の編集した所じゃありません!って言える

• 「三日経てば他人のコード」説

Page 28: 2015年2月23日 wbtoyama 勉強会 はじめようgit

始めようバージョン管理

Page 29: 2015年2月23日 wbtoyama 勉強会 はじめようgit

バージョン管理ができるソフト

• DreamWeaver

• SublimeText

• Local History

• Sublimerge ( 有料 )

• その他いろいろ

Page 30: 2015年2月23日 wbtoyama 勉強会 はじめようgit
Page 31: 2015年2月23日 wbtoyama 勉強会 はじめようgit

今日覚えてもらいたいこと• バージョン管理は便利!

• エディタでだってできるよ

Page 32: 2015年2月23日 wbtoyama 勉強会 はじめようgit

バージョン管理システム• CVS

• Subversion (svn)

• Mercurial (hg)

• Git

Page 33: 2015年2月23日 wbtoyama 勉強会 はじめようgit

CVS• 古い

• 面倒

• 堅い

• CVS? CSV?

• 無理

すべて個人の見解です

Page 34: 2015年2月23日 wbtoyama 勉強会 はじめようgit

CVS• Concurrent Version System の略

• 過去のコンピュータ技術の発展に寄与した偉いバージョン管理システム

• 現在のバージョン管理システムの根幹を作った

• 未だにガッチリしたシステム開発では利用されている

すべて個人の見解です

Page 35: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Subversion• そこそこお手軽

• CSV の後釜

• 企業での採用率ナンバーワン

• 集中管理

• WordPress の開発も Subversion

Page 36: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Mercurial• 水銀

• Mercury (水星、水銀 )

• hg (Hg: 水銀 )

• Git と大ゲンカ

Page 37: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Git• ギット• ジットって呼ばないで…

• gif: ぎふ?じふ?

• Subversion の後釜

• なうでやんぐなバージョン管理

Page 38: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Git• Linux の開発に採用

• というより Linux の為に開発

• そこで Mercurial と大げんか

• 分散バージョン管理システム

Page 39: 2015年2月23日 wbtoyama 勉強会 はじめようgit

今日覚えてもらいたいこと• バージョン管理は便利!

• エディタでだってできるよ

• CVS -> Subversin -> Git っていう歴史

Page 40: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Git と GitHub

Page 41: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Git と GitHub• Git をみんなで利用するにはサーバが必要

• サーバを立てるのは難しいよね

• じゃあ僕がサーバ立ててあげるよみんなで使ってね

• Github登場

Page 42: 2015年2月23日 wbtoyama 勉強会 はじめようgit

GitHub• なうでやんぐでオープンなプロジェクトがだいたい

GitHub

• SublimeText のプラグインも GitHub で公開されている物多数

• WordPress のプラグインも GitHub で公開されている物多数

Page 43: 2015年2月23日 wbtoyama 勉強会 はじめようgit

なんで WordPress のプラグインが GitHub 使うの?

• WordPress公式のプラグインは Subversion を利用させられる

• でも公式に掲載されるには審査が必要

• 個人でさくっと公開するのであれば GitHub が便利

Page 44: 2015年2月23日 wbtoyama 勉強会 はじめようgit

GitHub の注意点• 基本的にすべて公開

• プライベートリポジトリは有料

• 英語ベース

Page 45: 2015年2月23日 wbtoyama 勉強会 はじめようgit

Git と BitBucket

Page 46: 2015年2月23日 wbtoyama 勉強会 はじめようgit

GitHub っぽいけれど• 日本語!• プロジェクト管理もできる

• 人数が増えたら有料

• 5 人まで無料

• オススメです!

Page 47: 2015年2月23日 wbtoyama 勉強会 はじめようgit

今日覚えてもらいたいこと• バージョン管理は便利!

• エディタでだってできるよ

• CVS -> Subversin -> Git っていう歴史

• Git と GitHub と BitBucket

Page 48: 2015年2月23日 wbtoyama 勉強会 はじめようgit

で、どうすれば良いの?

Page 49: 2015年2月23日 wbtoyama 勉強会 はじめようgit

• 少人数の案件を BitBucket でやってみる

• 慣れてきたら GitHub も使ってみる

Page 50: 2015年2月23日 wbtoyama 勉強会 はじめようgit

GUI アプリがあるのでそちらを使いましょう

http://qiita.com/camelmasa/items/cd759b95edc69df58e1e

Page 51: 2015年2月23日 wbtoyama 勉強会 はじめようgit

GitHub

https://mac.github.com

Page 52: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ただしマッキントッシュに限る

Page 53: 2015年2月23日 wbtoyama 勉強会 はじめようgit

SourceTree

https://www.atlassian.com/ja/software/sourcetree/overview

Page 54: 2015年2月23日 wbtoyama 勉強会 はじめようgit

SourceTree• 色々と見易い

• BitBucket はもちろん、 GitHub でも使える ( らしい )

• 日本語対応• ただし…

• 初めて使うにはそれでも大変

• WordBench名古屋で 2 時間かかってできなかったとか…

• セミナーで 4 時間ぐらいかかりました

Page 55: 2015年2月23日 wbtoyama 勉強会 はじめようgit

ちなみに…

SourceTree と BitBucket のセミナーがあったらみなさん参加されますか?

Page 56: 2015年2月23日 wbtoyama 勉強会 はじめようgit

というわけで

Page 57: 2015年2月23日 wbtoyama 勉強会 はじめようgit

• SourceTree と BitBucket で案件をやってみる

• 慣れてきたら GitHub でも公開してみる

• 人のプラグインにちょっかいを出す !

Page 58: 2015年2月23日 wbtoyama 勉強会 はじめようgit

今日覚えてもらいたいこと(完 )

• バージョン管理は便利!

• エディタでだってできるよ

• CVS -> Subversin -> Git っていう歴史

• Git と GitHub と BitBucket

• SourceTree でやってみよう

Page 59: 2015年2月23日 wbtoyama 勉強会 はじめようgit

お疲れ様でした

Page 60: 2015年2月23日 wbtoyama 勉強会 はじめようgit

覚えてもらいたい用語• コミット

• 変更点を確定させること

• マージ

• 併合。二つを一緒にすること。

• 差分

• ファイルとファイルの変更点