卒業研究のほぼすべてのファイルをGit管理したら便利だった

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。

放送大学の卒業研究を進めていくにあたって、作ったファイルをすべてGitレポジトリで管理したら便利だった。

卒業研究プロジェクトのGitレポジトリをGiteaで管理する

ファイルはとにかく1箇所に集約する

ローカルに「2025sotsuken」というフォルダを作って、その中にとにかく全部ぶっこんだ。

ガイダンスで配布された資料も、研究計画も、調査資料も、ゼミの発表資料も、実験計画や実験結果、その分析スクリプトも、卒論も。とにかくできるだけ全部のファイルこのフォルダに入れた。

実験ではGoogleフォームを使ったので、そういうGoogleドキュメント系のものはGoogleドライブにおいておくのはやむなしとして、それ以外は全部Gitレポジトリに突っ込んでいった。

ゼミの資料はR Markdownで作ったし、実験の分析はRスクリプトを作ったし、それ以外のメモなども大部分をテキストファイルで作成した。これはGitと相性がよかった。

卒論や口頭試問の資料など、WordやExcel、PowerPointなどのバイナリファイルを使ったものに関しては、ファイル名に発表日などの日付を付けて管理した。古典的なやり方だ。

例えば、卒論であれば先生にレビューしてもらった日付をファイル名に入れるようにして、何個かのWordファイルを保管している形である。

これは、バイナリファイルはコミットを遡るのが面倒なので、ファイル名に日付を入れてバージョン管理する、というレガシーな管理方法の方が都合がよさそうだったから。

コミット、プッシュはバックアップ

コミットするタイミングはそこまで厳密にやってないけど、ゼミが終わったら関連資料を全部入れてコミットするとか、ある程度区切りがついたところでコミットしていた。

あえていうと、Rスクリプトを実装しているときはこまめにコミットしていたかな、くらい。

Rの実装はR Studioで行っており、R StudioはGitに対応していたので本当に都合が良かった。

ブランチによる管理は特にしておらず、コミットしたタイミングでバックアップを取っているような感覚だ。

レポジトリは自宅サーバー上に構築しているGiteaで管理した。

適度なタイミングでコミットし、サーバーにプッシュするというのが、ファイルを誤って改変してしまったり、最悪消してしまったりしたときの不安を取り除いてくれた。実際はそんな操作ミスはなかったんだけど、こうした体制が取れていることが大事だろう。

複数端末での操作もシームレスに

R Studio はLinuxサーバー上にあるし、Word や PowerPoint による資料作りはWindowsマシンでやるしで、操作する端末が違っていても、Gitのおかげでシームレスに作業が継続できるのもよかった。

Windowsはデスクトップとラップトップがあって、普段はデスクトップで作業するけど、ゼミのためにラップトップに環境を準備しなくちゃ、なんてときは git pull するだけだったし。

WindowsでもVS Code + WSL + Rの環境を作って、ローカルでRを開発できるようにしてからは、R Studioにいちいちログインしないで、WindowsでRをいじってたりもして。

そうした端末を超えた作業も、Gitがシームレスにつないでくれたのだった。

おわりに

卒業研究を進めるにあたり、作ったファイルをGitレポジトリで管理したらすごく便利だった。

プロジェクトに関するファイルは1箇所に集約し、適宜バックアップを取るという、プロジェクト管理においては基本的なことなんだけど。GitやGiteaを使って、これをうまく仕組み化できたのがよかった。

Gitのようなバージョン管理の仕組みは、システム開発だけで活用するのはもったいないと思っていて、私としては卒業研究というプロジェクトに関連するファイルをGitで管理するのはよかったと思う。

今後も何かしらのリサーチプロジェクトを立ち上げるときは、同じ様にGitで管理していくのがよさそうだ。