今日は早めに出社したりん。昨日のバージョン管理の話を思い出しているとき、先ほど出社した上司のはやせが音もなく近寄ってきた。
ニンニンニンニン、おはよーでござる。昨日はごめんねー。牛と電車がぶつからないように、ご当地ヒーローが電車を素手で受け止める! みたいなことやってくれると良かったんだけどねー。
(注 : 第四話のオチ部分参照)
(……意味がわからなーーーーーい!!)
いえいえ。では早速、昨日の話の続きとなる「バージョン管理の説明」をお願いします!
了解ウォッチ!
(……最近のネタもいけるんですね……)
まず、GitHubを使って複数人でバージョン管理を行う流れとしては、「ブランチを作って、手元で確認してローカルでコミット、プッシュしてPull Requestして、確認してもらってOKならmasterにマージする」って感じだよ!
? ? ? ? ? ? ? ? ? ? ?
すみません。何語喋ってるいるかわかりません…!
うーんと、Gitについての大雑把なイメージはこうかな。
えっと……、大本(master)から派生したもの(ブランチ)を一時的に作って、それを元に手元で作業して確認。そしたらみんなに確認(Pull Request)してもらって、OKなら大本に変更部分を反映する(マージ)、ということですか?
そうそう。考え方はそうだね。
「大本(master)には影響を与えないで作業ができ、さらにその変更内容を他の人にもチェックしてもらう」というところが、確実で品質の高い進め方ができるポイントなんだ。
ちなみに、今回利用するCMSのGitHub連携の場合、その大本のmasterやCMS上のテンプレート、ファイルを同期させることができるんだ。
例えば、1つのテンプレートを修正してそれに伴う画像ファイルを追加する、それを確認してmasterにマージすると、自動的にCMS側のテンプレートファイルが更新され、画像ファイルも送り込まれる。もちろん、これらのファイル達はバージョン管理されているので、もし問題があったらすぐ戻すことも可能だよ。
なるほど!!
GitHubと連動したサービスは、とても簡単に使えるんですね!
うん。そう。連動していないサービスを利用するなら、「手動でCMSとGithubを連携するよう設定して、チーム全体に周知する」という方法でもいいよ。
あと、今回のクライアントのサイトは、Webサイトとその配下に属するブログという構造だと思うんだけど、実は、1つのレポジトリ内にWebサイトとブログのテンプレートとファイルをまとめて管理することもできるから、中規模のサイトでも効率よく一括管理することができるんだ。
確かに、まとめて管理できると運用も煩雑にならないし、確実ですね。
例えば、制作のベースとなるテンプレートを様々なタイプで作っておけば、それをGitHub連携で読み込んでから制作を始めることで効率もすごく良くなりそう!
そうなんですっ! (ドヤ顔)
あ、そうだ ! あと、GitHubを調べてみて気になったのですが、GitHubでバージョン管理をするためには黒い画面でコマンド入力しないとだめですか……?
黒い画面? あー、ターミナルのことね。確かに、デザイナーとか非エンジニアの人にはとっつきにくいよねー。
でも、その辺は大丈夫! そんなときは…「ソースツリぃーーーー ! 」ということで、SourceTreeというGitの無料クライアントソフトが、AtlassianからMac版もWindows版も提供されているんだ。
あーーーーよかった! どうしてもあの画面とお友達にはなれなくて。これなら非エンジニアも安心ですね。
だね! 僕もターミナルとはお友達にはなってないから、これ使っているよんっ。
お友達になるには四六時中一緒にいないといけないけど、たとえば、サッカーボールを蹴りながら小学校に登校したら今は怒られちゃうからねー、世知辛い世の中だね。
(翼くんの時代でも、サッカーしながらの登校は、危険だと思うけどね)
ありがとうございました! 安心して制作を進められそうです!
ところで、クライアントがすごい気にしている点として「SEO」についても聞きたいんですが。
ん? 誰? 瀬尾さんって?? ……あーー、えすいーおーのことね。はいはい、あるよね、そういうやつね。ぼくはさ、Search Engine Optimist(検索エンジン楽天家) だからね。はっはっは。
……ところで、その話は明日でいいかい?
明日で大丈夫ですー!
バージョン管理を具体的にやっていく方法や、その利点についても詳しくなったりん。
WebといえばSEOってよく聞くので、どう対策したりするのかなぁ。など気になりつつ帰宅するのであった。
執筆者紹介
早瀬将一
シックス・アパートにて、主にWebサービス型CMS「MovableType.net」の製品企画を担当しています。個人活動として、大学時代から音を中心としたインタラクティブ作品を制作。音に限らない作品やソフトウェアも作ってます。詳しくはWebで!