卒業研究でgitのチュートリアルを作った話

この記事は「Git Advent Calender 2015」の22日目の記事です。今やってる卒業研究でgitが関わってるのでそれについて書きます 。

はじめたきっかけ

今年の春頃から研究テーマ決める感じになってそこで何やりたいかでいくつか候補があげられました。その中にプログラミング教育というジャンルで「gitチュートリアルを作って初心者に教えるような研究しないか」みたいなことをボスに言われたのでそのテーマでやってみることにしました。その頃はあまり具体的になにするか決めてなくてとりあえずgitのチュートリアル作ろうくらいしか考えてませんでした。もともとgitには興味あったしこれまでSourceTreeでよくわからないけどなんとなくでバージョン管理してたのでこれを機に具体的にgitとかについて勉強しようという気持ちで研究を始めました。

完成したチュートリアル

実装を始めたのが6月ぐらいでダラダラ進捗をごまかしながらやっていた結果、期限ギリギリの10月末くらいに完成しました。完成したのがこんな感じです
f:id:takehanogi11:20151222205526p:plain

指定されたgitコマンドを入力すると説明部分が書き換わり、直前に入力したコマンドとリポジトリ内で何が起こったのかを説明します。主にtryGitを参考に作成しました。緑の4つのボタンでそれぞれコースに分けておりそれぞれ

  • 1.git add とかcommitする基本操作に関するコース

  • 2.git statusとかでリポジトリ確認するコース

  • 3.リモートリポジトリ使うコース

  • 4.ブランチで操作するコース

といった感じです。コンソール部分はjquery-consoleを使いました。このチュートリアルをボスが受け持ってる授業内の課題として学生たちにやってもらいました。課題として出しても全員にやってもらえたわけじゃないけどそれなりにデータは取れたのでよかったです。

チュートリアルの反省点

今回チュートリアルをやってもらった人たちに最後にアンケートをやってもらって色々な感想がもらえたけど比較的多かったのがチュートリアルでコマンド打ってるだけじゃよく分からないという意見が多かったです。これがこうなったよという説明ではgit初めての人にはインデックスとかリポジトリとかブランチとかよくわからん単語が出てきてもイメージしにくいよなぁと思いました。あと作った後に気付いたんですがバージョン管理してるファイルがユーザにはチュートリアルやってる間は「git diff」とかでしか確認できない感じだったのでせめてcatコマンドでファイルの中身がどう書き換わってるかぐらい確認できるようにすればよかったなと少し後悔しました。

まとめ

最初はgit知らない人に教えるぞというモチベーションだけで始めた研究なので後半になるにつれ色々考えることが増えていって辛さは増していったけどとりあえず完成させて一応当初の目的は達成させられて良かったです。チュートリアルに関しては多分来年も使う可能性があるのでそれまでに今回の反省点を踏まえて改良できたらなと思います。一応研究を始めた当初はGUIでしか使えなかったgitが今ではターミナルでパパッとコマンド入力しながら使えるようになったのでそこらへんは個人的に成長できたところだと思います。とりあえず卒論が辛すぎる