投稿記事

2022年 03月の記事 (2)

バックアップをとろう Git のすゝめ

はじめに

本記事は一切バックアップを取っていない人、バックアップを取っているが毎回手作業でやっていたり、Google Drive や Drop Box といったクラウドストレージサービスを利用している方に向けて git の有用性を伝えるための記事になっています。

git についてご存じで利用されている方はネット上に git に関する記事がいくらでもありますので、あえて記事にする必要がないと思われるかもしれません。ただ既に git をご存じの方はお仕事でプログラマーをされている(いた)、もしくは近しいお仕事をされている方ではないでしょうか。

これまで git というツールを知る機会がなかった方のために git を知ってもらうきっかけになればと思い記事を作成しました。

今回は導入や操作方法には触れません。あくまで git を知ってもらうということを目的としています。

導入については近いうちに別の記事にしたいと思いますが、この記事を見て今すぐにでも導入したいという方はご自身で調べてみてください。

git の利用に向いている方

  • 単純なバックアップ以上の機能を求めている方
    (バージョン管理がしたい方)
  • ローカル環境でのみバックアップをする必要がある方
  • 複数人数で開発をしている方

単純なバックアップ以上の機能を求めている方

git には様々な機能や特徴があります。以下に例を挙げます。

  • 作業の巻き戻しが簡単でわかりやすい
  • 不必要な変更履歴を作らない
  • バグ修正と並行してバージョンアップなどの対応ができる

作業の巻き戻しが簡単でわかりやすい

git では変更とあわせてコメントを残すことができます(というかその手順がセットになっています)。それによってどの時点まで戻せばいいのかわかりやすくなっています。

また、変更内容に関係するファイルが複数ある場合でも一度の操作で関係する複数のファイルをまとめて巻き戻しが可能です。


参考にトラトリトルの変更履歴
コメントとともに変更のあったファイル、変更箇所、時間などの情報を確認できます

巻き戻した後からさらに最新の状態にすることも簡単にできます。

どのくらい簡単かというと巻き戻すのに必要なクリック数はわずかに3、4回です。(クライアントツールを利用した場合)

これができるとどうなるのという話なのですが、次の経験はないでしょうか。

以前までは問題がなかったのにいつの間にかバグが発生していた

原因となりそうな変更がすぐにわかればいいのですが、全く見当がつかないこともあります。その場合、適当に履歴をさかのぼってどの変更によって問題が発生したのかを確認することで原因の究明につなげることができます。

原因がわかれば最新の状態に戻して修正を加えてももいいし、特定のファイルの変更が原因ならそのファイルだけを巻き戻すといったことも簡単です。

他のサービスや手動でのバックアップでも同様のことができなくはないでしょうが、git はこの操作が比較的簡単にできるという事です。

不必要なバックアップや変更履歴を作らない

1日のうちの特定の時間にバックアップを取る場合、変更がなくても全てのファイルのバックアップを取ることになります(変更があったファイルだけを保存するような仕組みでない限り)。

ファイルを更新するたびに履歴を保存する場合、空行を追加しただけで変更が入ったとみなされ、不要な変更履歴が作られます。中には変更がなくてもタイムスタンプに変更があるというだけで履歴が作られることもあるでしょう。

git の場合変更内容をコメントで残すという手間が増える代わりに、不必要なバックアップが作られることはありません。

これは手作業で細かくバックアップを取っているようなものなので、手間が増えるデメリットとも言えます。 ただ、その手順、巻き戻し操作なども含めて一つのアプリケーションで完結するためエクスプローラー上で一つ一つバックアップを取るよりは非常に楽です。

デメリットを補って余りあるメリットがあるからこそ、世界中の人が利用しているわけです。

バグ修正と並行してバージョンアップなどの対応ができる

次のアップデートの為の作業途中に急ぎ修正が必要なバグ報告が上がってきた。
今の作業を中断してバグ修正作業をしたいが、今の中途半端な状態の変更をバグ修正バージョンに含めることができない。

といった経験があるのではないかと思います。

その場合、以前にリリースしたバージョンを探してきて、そこだけ修正を加えて、アップデートバージョンにも同じ変更をくわえて…といった非常にややこしい手順を踏む必要があります。

もしくはアップデート作業が終わるまで手を付けることができないという事もあるかもしれません。

git では特定のバージョンから分岐したバージョンを複数持つことが可能です。これがブランチと言われる機能です。


参考にトラトリトルのブランチ
v1.3.0 がアップデートバージョン
v1.2.x がバグ修正バージョン

巻き戻し操作などと同じ感覚で修正用のバージョン(ブランチ)とアップデート用のバージョンを切り替えることが可能です。体験版などの専用のバージョンを用意するためにも利用できるでしょう。

当然、分岐した後に一つに統合することができますし、特定の修正だけをアップデートバージョンに取り込むといった操作も可能です。

これによって同じ作業を何度も繰り返すようなことをしなくてすむようになります。

ローカル環境で開発をしている方

勘違いしやすいのですが git はローカル環境でも利用することができます。
git 自体はローカルで動作するアプリケーション(ツール)の名称です。よく名前に挙がる Github はクラウド上で git を利用するサービスの名称であって git とは別のものです。

様々な事情によりクラウドストレージサービスを利用できない方がいらっしゃるかと思います。バックアップとしての用途としては効果が限定的になりますが PC 一つでも利用できますし、ローカルネットワーク上のストレージ(NAS)を活用することも可能です。

複数人で開発をしている方

Github などのクラウドサービスの利用が必要になりますが、複数人で開発をしている方にもオススメです。誰がどういった変更を行ったのかがログを確認することで把握することができますし、同じファイルに同じタイミングで変更を加えた場合は単純な上書き操作ができなくなります。

(正確にはローカルファイル上では変更を加えることができますが、共有されるデータへの反映にひと手間かかります)

これによって意図しないファイルの巻き戻りを防ぐことができますし、誤って上書きしてしまっても変更履歴からの復元が容易です。

クライアントツールについて

git は本来キーボードでの操作しかできないツールです。ただし、それでは多くの人にとっては使いづらいために、マウスによって操作できるようにしたツールが git クライアントとよばれるものです。

ちなみにキーボードによる文字入力で操作可能なインタフェースを、キャラクターユーザーインタフェース、略して CUI といい、マウス操作などが可能なインタフェースをグラフィカルユーザーインタフェース、略して GUI といいます。そのため正確には git は CUI のツールでクライアントツールは GUI のツールになります。

今回記事にした内容はクライアントツールを使用している前提となっています。

もし git を使ってみたいという方は「git クライアント」と検索してみてください。ちなみに私は Source Tree というクライアントを利用しています。

おわりに

今回の記事では git の有用性を伝えるため、自身の開発経験をもとにして使っててよかったなぁと思うことを中心に記事にまとめました。ただ絶対に git を使用した方がいいという事ではありません。

クラウドストレージサービスは簡単につかえるという何にも代えがたいメリットがあります。現状で問題を感じていない方は無理に git を使用する必要はないかもしれません。

とくに git での管理に向かないファイルなどもあり、単純なファイル共有の為であればストレージサービスを利用する方がいいでしょう。

また git を知らない方にわかりやすく伝えることができるように git に関連する用語を極力使用せずに書いたつもりです。明らかにおかしいと思われる点についてはご指摘いただければと思います。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

制作支援サークルはじめました

ごあいさつ

はじめまして、サークル代表の shun です。
普段は成人向けゲームサークルとして活動をしていますが、この度ゲーム制作支援を行うサークル「いなずまそふと制作支援部(仮)」を発足することにいたしました。

活動内容はサークル名の通り同人ゲームの制作を支援することです。具体的にはツールを開発して配布したり、制作に役に立つ情報を共有したりといったことから、開発環境を構築する支援などをしていきたいと考えています。

また RPG ツクールに関わるものが中心になります。

活動を始めた当初は出来ることが多くはありませんので、現在開発しているツールの進捗を報告が主になるかと思います。将来的にはプラグイン制作やデバッグの支援などもを行えるようになれればと思っております。

サークル発足の理由

家庭用ゲームの開発現場では、開発を効率的に進めるための環境を構築したり、独自ツールの開発やノウハウの共有ということが当たり前のように行われています。

それが可能なのはそもそも効率よく開発するというノウハウ、土台があるからです。

もう一つ、圧倒的に開発に関わる人数が違います。分業により一人一人の作業が分散されるため、ゲーム開発の傍ら効率化するためにツールを開発することができたり、組織によっては専任のスタッフが存在することもあります。

少人数でのゲーム開発が中心となる同人、インディゲーム開発の現場ではゲームを作ることにいっぱいいっぱいでそこまで手が回らないことがほとんどではないでしょうか。

かといって自分以外の誰かにお願いするには当然お金がかかります、人を一人雇うのにはり何十万というお金が必要ですが、個人でそんな大金を払える人は多くありません。

ならばみんなで少しずつお金を出し合うことは出来ないかと考え、サークルを発足することにしました。

弊サークルの活動を通じて多くのクリエイターがつまらない作業から解放され、より良いゲームが世の中にあふれ、界隈が活気ずつことを願っています。

現在開発中のツール

スイッチ、変数の番号を入れ替えたり新しい変数を挿入、不要な変数の削除を行うツールです。このツールが完成すれば事前に予備の変数を作っておく必要がなくなり、無駄なくきれいにスイッチと変数を使用することができるようになります。

ある程度規模の大きいゲームを作ったことがある方なら、一度は変数の間に新規で変数を作成したいと思ったことがあるはずです!

実際に使用している動画を撮影しましたのでよろしければご覧ください。

フォロワー以上限定無料

ツールのプロトタイプ配布

無料

  • アイコン
    Altered ID00000239
    おうえんしてます!😆

1件のチップが贈られています

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索