狠狠撸

狠狠撸Share a Scribd company logo
弊社でGit!実案件での運用
株式会社バイタリフィ社内勉強会
制作部?千葉礼美
アジェンダ
1.? 当勉強会のねらい
2.? バージョン管理システムについて
–? 弊社でのSVN活用振り返り
–? SVNでのリポジトリ構成図
–? Gitでのリポジトリ構成図
–? No Commit, No Ticketの考え方
3.? SourceTreeを活用してみよう!
4.? ブランチの操作をしてみよう!
–? 5つのブランチモデル
5.? さいごに…
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 2
1.当勉強会のねらい
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 3
1.当勉強会のねらい
1.? Gitを活用して実案件に役立てられるようになる。
2.? 案件に合わせてSVNとGitの使い分けができるように
なる。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 4
2.バージョン管理システムについて
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 5
弊社でのSVN活用振り返り
作業するときに触るディレクトリ
Repository	
work	
 ?1	
 work	
 ?2	
作業するときなどに直
接触らないリポジトリ
が存在。
作業するときのディレクトリはローカル(あなたのPCの中デー
ス!)に存在します。Repositoryの複製版、ですね!
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 6
弊社でのSVN活用振り返り
作業するときには、各自、自分のPCにRepository
の複製版を作りますね。これを「チェックアウトす
る」って言って使ってますよね。
杉山	
 GG	
 石川	
 松岡	
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 7	
Repository
弊社でのSVN活用振り返り
作業発生!杉山くんがファイルを編集しました。
ローカルディレクトリなので、編集が反映されるのは自分の
手元のファイルのみです。
杉山	
 GG	
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 8	
Repository
弊社でのSVN活用振り返り
コミットします。
これが最新であると
Repositoryに渡しま
す。私たちはこれを
「commitする」って
呼んでましたね!
Repositoryは、commitされたときに最後のRevisionから
の差分を判別します。差分に問題がなければそのままファイ
ルをマージしてくれます。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 9	
Repository	
杉山	
 GG
弊社でのSVN活用振り返り
ここでGG先輩が、最新
のRepositoryの内容を
アップデート、マージ
していないまま、杉山
くんと同じファイルを
編集し、commitしまし
た!
Con?ictErrorが発生します。同じファイルの編集履歴を照
合して、mergeした後にCon?ictを解消しましょう。
!
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 10	
Repository	
杉山	
 GG
バージョン管理すると
いいことあるの?
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 11
「ファイル管理」が標準化できます。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 12
「ファイル管理」が標準化できます。
命名規則ばらばら!最新ファイルは結局どれだよ!
こんな管理方法激おこだよ!!!! (?????? ;益;??????)
20131019_挿入タグ一覧.xls
New_20131019_挿入タグ一覧.xls
20131019_挿入タグ一覧_千葉加筆.xls
【最新】20131019_挿入タグ一覧_千葉加筆02.xls
20131020_挿入タグ一覧.xls
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 13
20131019_gallery.psd
20131019_gallery_青.psd
20131019_gallery_角丸.psd
20131019/gallery.psd
「ファイル管理」が標準化できます。
変更した分だけファイルが増えてる!
途中で増えすぎてディレクトリ切り出した!最初からやれよ!こんな管
理方法激おこだよ!!!! (?????? ;益;??????)
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 14
「いつ」
「だれが」
「どんな目的のために」
「なにをした」
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 15	
がシステム的に管理されます。
目的の無いcommitは必要ありません。
差分納品もしやすくなるねっ!
SVNってなぁに
集中型バージョン管理システムです。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 16	
Repository	
update update
commit
merge merge
commit=Repository反映、update=ローカルディレクトリ更新
rebase
merge
Gitってなぁに
分散型バージョン管理システムです。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 17	
Repository	
pushcommit
commit=LocalRepository反映、push=Repository反映
fetch=Repositoryから更新を取得、merge/rebase=ローカルディレクトリ更新
Local	
 ?
Repository	
Local	
 ?
Repository	
fetch
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 18	
Gitのワークフローは応用が効きます。
「いつやるの?Git入門」P45~50で3種類
のワークフローを紹介されています。
h"p://www.slideshare.net/matsukaz/git-?‐17499005	
Thanks	
 ?@matsukaz
Gitを活用することの利点
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 19
Git操作がローカルで完結する
1.? ローカルにリポジトリがあるため、通信
環境がなくとも、手元で更新/履歴を残
すことが可能。
2.? 複数機能を持つアプリケーション開発な
どで、開発者が分担しておこなえる。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 20	
弊社は外注リソースを大いに活用、また、ベトナムとのオフ
ショア開発とも連携しているためにソースコード関連は分散
型管理の方が向いていると思うの( ?ω?)
ブランチ?マージが便利!
1.? 「別バージョン」として色違いの作成
2.? 「機能」を限定してのリリース、納品
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 21	
Gitには「trunk」がありません!
ブランチと仲良くなってもっと効率化できたらいいですね。
SVNでいいじゃんっていう作業
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 22
デザインカンプやドキュメント
1.? 複数人で同時編集することがほぼ無い。
2.? commitの頻度も多くない。少なめ。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 23
そこで弊社では…
?? 親プロジェクト
–?設計サブプロジェクト(SVN)
–?開発プロジェクト(Git)
で分けちゃうのはどうかなあ、と。
親プロジェクトで両方のチケットもロード
マップ参照できるし、リソース別でプロ
ジェクト複製してしまうのはありだと思い
ます。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 24
3. SourceTreeを活用してみよう!
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 25
里山さん作成の
Git利用手順書.pptx
を参照して、ひと通りやってみ
てください?(?????)?
テスト用プロジェクトは、
後ほどチャットワークでお知らせしますっ
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 26
4.ブランチの操作をしてみよう!
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 27
5つのブランチモデル
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 28	
h"p://www.atmarkit.co.jp/ait/arCcles/1311/18/news017.html	
Thanks	
 ?@nvie
5つのブランチモデル
1.? developブランチ
開発を行うためのブランチ。開発者は、主にこのブランチ上で作業を行う。次に紹
介するfeatureブランチなど、他のブランチで行った作業は、ここにマージされる。
2.? featureブランチ
主要な機能を実装するためのブランチ。機能の実装やバグフィックスなど、タスク
ごとにfeatureブランチを作成し、作業を行う。
3.? releaseブランチ
リリースの準備を行うためのブランチ。プロダクトをリリースする前に、このブラ
ンチを作成し、微調整を行う。releaseブランチを作成することで、リリース準備
と次のバージョンに向けた開発のコードを分けることができる。
4.? masterブランチ
リリースしたソースコードを管理するためのブランチ。リリース作業を行うと、
releaseブランチはmasterブランチへマージされて、リリースタグが打たれる。開
発者は、このブランチへのコミットは行わない。
5.? hot?xブランチ
リリースされたソフトウェアに緊急の修正を行うためのブランチ。このブランチで
の修正内容は、すぐにリリースされるので、hot?xブランチはリリースを管理する
masterブランチへマージされる。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 29
5.さいごに…
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 30
標準化することの必要性
コミットに必ずコメントをつけること、チケット
などのタスクとひもづけることを徹底すると、無
駄な作業がなくなります。
そのため工数が見積もりやすくなるし、開発の
ワークフローが一元化しやすくなります。
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 31
おすすめの参考先
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 32
おすすめ
もっと早く知りたかった!
Gitが鬼のようにわかるスライド厳選7選
h"p://www.?nd-?‐job.net/startup/7-?‐git-?‐slides	
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 33
おすすめ
サルでもわかるGit入門
h"p://www.backlog.jp/git-?‐guide/	
弊社でGit!実案件での運用 / 制作部 千葉礼美	
 34

More Related Content

【社内勉强会】弊社て?骋颈迟!実案件て?の运用