#コーディング
Gitを布教する方法を考えてみた

使ってみれば超便利なGitであるが、使ったことない人に勧めてみても使ってくれない率90%超である。※筆者調べ
確かに直感的に理解しづらいしやや敷居が高い分野であると思う。その敷居の高さの理由を今までお勧めした人たちにヒアリングしてみると
・黒い画面怖い
・なんか難しそう
・使わなくてもなんとかなってる
・GitHub見てみたら英語だったから挫折した
・便利そうではあるんだけどめんどくさそう
などの理由が得られた。これらの障壁を取っ払ってあげた上でその便利さを伝えることができれば使ってくれるのではなかろうか、という希望的観測の元布教方法を考える。
 

黒い画面怖い

黒い画面使わなくても使えるよ!という純然たる事実を突きつけてあげよう。GitのGUIクライアントはいくつかあるが、初心者ならSourceTree一択だろう。UIも綺麗だし直感的に操作できると思う。
基本的な使い方と便利さを理解した上で、必要であれば黒い画面からリモートリポジトリの操作などを学習していけば良い。
 

なんか難しそう

わかる、とっつきにくいよねGit。主な原因はググった時に意識高い人たちがわけのわからん呪文を黒い画面で唱えていたりコンフリクトの対処がどうとかブランチの切り方はGit flowを採用するべきだとか小難しいことを言ってるせいだと思う。
そんなことする必要は全くない。SourceTreeからポチポチクリックしてマスターブランチに対してコミットしてプッシュできればそれでいいのだ。
強いてコマンドを打つとしても

だけで十分。まずは敷居を下げてあげよう。
 

使わなくてもなんとかなってる

多分このパターンが一番多い。Gitを導入するとなると学習コストもそれなりにかかるしワークフローも変わってくるので、現状を維持したくなるのはわかる。
オーケー、その通りだ君は正しい。
が、間違えてファイルを上書きしてしまったことがありませんか?
作業時にstyle.css触ります!他の人触らないでください!絶対触るなよ!みたいなやりとりをしたことがありませんか?
先祖返りさせてしまったことはありませんか?
などとネチネチと問い詰めてボロを出させ、その失敗はGitを使っていれば起きなかったことであると力説しよう。
また、GitでもSubversionでもソースをバージョン管理することが当たり前でそれに依存した開発体制に慣れているエンジニアである場合、このような仕組みを導入していない環境はかなりのストレスとなるはずだ。エンジニアの作業効率を上げるためにも導入するべきだろう。
 

GitHub見てみたら英語だった

英語勉強しろ。というパーフェクトなソリューションは飲み込もう。
どうやら英語にしか対応していないんだから日本では広まってないんでしょ?海外で流行っているからという安直な考えで使ってるだけなんじゃないの?という認識に至る人が一定数いるようだ。
そうではない、世界中のエンジニアが交流する場であるから中国人もロシア人もインド人もしゃーなし実質統一言語である英語に従っているだけであることを説明しよう。GitHubの支社があるのは日本だけでありそれだけ日本人の間でも根付いたサービスである。
GitHubの画像の差分表示機能は視覚的にスゲーってなるので布教する時には有効だと思う。あとオクトキャット可愛い。
codercat
Octodexを見ると色々いる。なんかの版権に引っかかりそうな子もいるけどいいのだろうか。the Plumberとかアウトなのでは。
余談だがオクトキャットのデザイナーはTwitterの鳥も手がけた人であるらしい。しゅごい。
 

便利そうだけどめんどくさそう

それも認めよう。リポジトリ作ってgit initしてaddしてcommitしてpushする手間はどうしたって生まれる。作業が終わったらコミットしてプッシュするとかめんどくさそうなのは分かる。
ここはもう無理矢理でも一度コミットしてプッシュしてもらうしかない。SourceTreeなどを使ってワンクリックでプッシュできることを体験してもらえばさほどめんどうでないことが分かってもらえるだろう。
簡単なのはわかったけどこれを恒常的にやるのはな~という人もいるだろう。
そういう人に効果的な手段として、コミットメッセージをおもしろくすることが考えられる。
GitHubは意識高い人の集まりであるので、コミットメッセージも当然英語ばかりだ。なんかfixしたりimproveしたりavoidしたりしてる。このあたりも敷居の高さの原因な気がする。そこで
「なんか動かないから誰か助けて」
「動いたからカニおごってくれ」
「バグあるじゃねーか直したからウニおごれ」
のようなやりとりを見せてみるとどうだろう。あ、そんなテンションでいいんだそれなら楽しそうかも…などと心理的障壁を取り払う一助にはなるだろう。私は前述のようなドヤ顔メッセージを書くために素晴らしいコミットをしてやろうという気になる。
世界に公開するプロダクトであれば英語でそれなりに堅苦しいメッセージを書くべきだろうが、身内しか見れないリポジトリであればざっくばらんにやりとりすればいい。見直した時にこの時どういう状況だったかも思い出しやすくなったりもする。
 

世界のエンジニア達のことを知ろう

コミットメッセージといえば興味深い統計がある。GitHubに蓄積されたコミットメッセージを解析し感情別に分類してみたものだ。
http://geeksta.net/geeklog/exploring-expressions-emotions-github-commit-messages/
なんかもうTwitterかよという感じである。開発の現場なんてこんなものなのだ、かしこまる必要なんてない。バグが出たら言語仕様のせいにしたっていいし、なんか知らんけど動いてるわ意味ワカンネでもいいし、素晴らしいコードが書けたら存分に喜び自画自賛すればよい。
そのようなエンジニアの世界に飛び込むためにも、Git及びGitHubは積極的に利用するべきだと私は考える。
 
最後にWeb系エンジニアなら必ず一度は思うコミットメッセージを引用しよう。

I hate you Internet Explorer. I hate you so much.

ホントそれな。

CONTACT

この度は当社へご興味お持ちいただき
ありがとうございます。
Webに関するお悩みございましたら、
是非一度お気軽にご相談ください。
平日10:00~19:00