エンジニアじゃない人にゴリ押ししたいエンジニアの便利道具の一つにgitというものがあります。これがまじで革命的で、鼻血が出そうなくらい便利なんですよ。で、このgitをどういう人に特に強く押したいかって、特に出版に携わる人。
というわけで、以下理由を書いていきます。なお、エンジニアじゃない人にもわかるように書いているので、わかっている人にとっては若干冗長な説明になりますがお許しを。
Gitというのは、リーナス・トーバルズ (Linus Torvalds) という、Linuxを作った偉人が生み出したすごいツールのこと。
このGitというのは、あくまでただのプログラムなんですが、それをインターネット上で見られるようにしたのが GitHub というサイトなんですね。僕がこの記事で説明しているのは、Gitであり、GitHubのことなんですが、ピンとこない場合は、GitHubというサイトでできることを解説しているんだなと思ってくれれば全然OKです。
さて、お次はこのGit・GitHubでできることを解説します。まじでビビりますよ。SFかよってぐらい近未来感ありますから。
中二病っぽくいうと、Gitというのはアカシックレコードであり、GitHubを使うとアカシックレコードが自由自在に操れます。
SFっぽくいうと、過去も未来もパラレルワールドも自由に行き来できるすげえマシンみたいなものです。
導入はこれぐらいにして、何ができるかを具体的に説明しますか!
なお、この記事は出版系の人のために書いているので、文章を書く、本を出版する、ということを主目的とした場合のGit・GitHubの使用例になってます。
例えば小説を書いていて、一章の第一稿が完成したとします。Gitを使うと、このタイミングでセーブができるんですよ。
僕はこのブログをGitとGitHubで管理していまして、記事を書き終わるごとに毎回セーブしてるんですね。こんな感じに。
つまり、章が完成するごとにセーブができるし、ある章を書き直したくなったら、またそれをセーブできるんですね。
そしてもちろん、セーブができるということは、ロードができるということ。次は「タイムスリップ」です。
前節で、Gitを使うとセーブができる、という話をしました。
今こそセーブした記録が生きるとき。
こういうシチュエーションを考えてみます。第一章を書き直してみたけど、なんかしっくりこない、やっぱり戻したいなぁ。あれ、書き直す前ってどんな感じだったっけ?
こういう場面って腐るほどあるはずです。そんなときにGitは大活躍します。
Gitを使うと、下のように、プロジェクトの歴史を管理できるというお話をしました。
Gitはただ歴史を管理できるだけではありません。「歴史を戻せる」んですね。なので、
第1章 第一稿 2020/10/31
みたいな記録をGitでしていたら、第一章だけ戻す なんてことが可能になるわけです。
そしてもちろん、「第一章を戻してみたけどやっぱり気に食わないから書き直したやつに戻そう」、なんて気まぐれな方にもGitは対応しています。セーブポイントを作りさえすれば、進むも戻るも自由自在にできるという。超便利じゃないですかこれ。
前節では、Gitを使うと歴史を戻せるという話を書きました。もちろん、それはGitの機能のほんの一つにすぎません。
こういう場面を考えてみましょう。新しい章を書くにあたって、2通りの展開が考えられる。どちらがより面白くなるかは未知数。どちらも試してみたい。
要はABテストしたいと。Gitの世界にようこそと僕は言いたい。
Gitを使うと、歴史を分岐させることができます。今日の晩御飯にカレーを食べる未来と、ラーメンを食べる未来の二つに分岐できるわけです。もちろん、分岐は2つしかできないわけじゃなくて、いくつにでも分かれることが可能です。
Gitでは、ブランチ(branch)という枝を作ることができるんですが、これが分岐した未来に相当します。それぞれ分岐した先をセーブできるので、すなわちパラレルワールドAとパラレルワールドBを自由自在に移動できるわけですね。
さらにさらに、このパラレルワールドを融合させることもできるんです。ストーリー自体の骨子はパラレルワールドAのものを使用したいけど、パラレルワールドBの設定も使いたい、なんて場合がありますよね多分。
マージ(融合: merge)という概念がGitにありまして、両方の世界のいいとこ取りをしたいっ!なんてワガママな方のご要望にもお答え可能なんですね。
映画で例えるとマーベル・シネマティック・ユニバースみたいな感じです。
色々なバージョンのスパイダーマンが存在しますし(アメイジング・スパイダーマンだったり、アイアンマンと共闘するスパイダーマンだったり)、それらすべてのスパイダーマンが一つの映画が出演できるみたいな。
とりあえず原稿ができたとします。次は編集者のレビュー(もしくは作者の推敲)になるわけですが、Gitを使うとこれがめちゃめちゃ簡単にできます。
以下の画像は僕が自分の文章をレビューしている例です。こんな感じで、気になった箇所について気軽に誰でもコメントを残せるんですよ。自分で自分の文章をレビューしてもらってもいいし、複数の人に読んでもらって、コメントをもらうなんてこともできる。
幻冬舎の箕輪さんだったり、キングコングの西野さんは自分のコミュニティを持っているわけですが、そういう人たちの場合、Gitを使うともっと面白いことができます。
今までお話したように、Gitを使うと、
わけで、これって、最強の実践教材じゃね?と思うわけです。作者はこういう視点を持っているのかとか、第一稿って、最終版と比べてこんなに違うのかとか、編集者はこういう視点から文章を読む・レビューするのかとか、学びの宝庫だと思うんですよね。
そんな最強の教材が勝手に出来上がってしまうわけで、経験の浅い編集者・編集者になりたい人にとってはもちろん、文章を書く人にとっても、垂涎モノの宝の山なはず。
Gitはそもそも、何人でも効率的に作業ができるようにという思想のもので作られたものなので、何人いても効率的に作業できるんですよ。
文章のレビューは何人でもできますし、文章を書いてセーブポイントを作るのも、何人でもできる。
作者Aが作ったセーブポイントA1と、編集者Bが作ったセーブポイントB1を合体させて、Cというセーブポイントを作るなんてこともできるわけで、夢が広がります。
Gitは非エンジニアにとっては難しすぎます。勉強すれば誰でもできるようになるんですが、非エンジニアにその努力を求めるのはナンセンス。
Gitが使いこなせると便利すぎてやばいんですが、そもそものハードルが大きいので、非エンジニアが使うようにはならないんじゃないかなぁと思います。
しかし、Gitが可能にしている概念自体は素晴らしいものであり、業種によっては革命が起きるほどのインパクトが起こせるでしょう。
ということを考えると、物書きのためのGitの亜種みたいなサービスが誕生してもいいはずですし、誕生するべきです。誰か開発と普及を頑張ってやってくれないかな。以上!