環境構築編リンク
- ツールの準備
- とりあえず動かす(開発環境編)
- とりあえず動かす(ランチャー編)
- バージョン管理(Gitローカルリポジトリ編) ← here
- あった方が良い(が今すぐとは限らない)道具等
- メインページへ戻る
バージョン管理とは
バージョン管理とは、要は「便利なセーブデータ管理ツール」です。
駄文
ボス戦の前や重要イベントの前で分けてセーブしておきたいという気持ちは誰にでもあります。プログラミングではいつ重大イベント(バグる・動かなくなる)が発生するかは分からないので、できればいつでもたくさんセーブデータを作成したいです。
ですが、データを分けて保存し、ちゃんと管理するというのは結構面倒なため、
セーブデータ.xlsx
セーブデータ - コピー.xlsx
セーブデータ - コピー (1).xlsx
セーブデータ - コピー (2).xlsx
セーブデータ - コピー (1) - コピー.xlsx
セーブデータ - コピー(最新版).xlsx
セーブデータ - コピー(改定版2).xlsx
セーブデータ - コピー(最新版) - コピー.xlsx
こうなってしまっては目も当てられません。また、プログラマになら通じる例えになりますが、古いコードをいつまでもコメントアウトして残し続けるせいでソースコードが見づらかったりコメントと区別がつきづらかったり…
これをツールの力で解決するのが「バージョン管理」です。どれが最新のデータか分かるのはもちろん、時系列や各データの差分を簡単に取得できる機能などがあります。さらに、各セーブデータに対して、「何が変わったのか」や「今ここが○○の状態」のような短いコメントを残せます。
そんなかなり強い便利ツールなのですが、いかんせん使うのに心理的・技術的なハードルが高く、使えずに不便な状態で生活しているプログラマが多数生息しているのが現状です。ビックリするほど快適で、二度と手放せなくなるほどの力を持っているのでぜひ本記事で慣れてみましょう。
要するに、ファイルの更新履歴をちゃんと管理しようということです。
本記事の内容
一言で表すなら、「Gitのローカルリポジトリを作ってコミットする」です。
実を言うと、本記事の内容はModdingに必須ではありません。
ですがシンプルに超便利なので少しだけでも使えるようになることをお勧めします。
今回Gitというバージョン管理ツールを使いますが、そのせいでたくさんのGit用語が出てきます。
詳細な解説や用語説明は他に譲りますが、超最低限の用語解説を以下に置いておきます。
- 「コミット」 = セーブデータ ← 重要
- 「コミットする」 = セーブする ← 重要
- 「コミットメッセージ」 = セーブデータに付けたメモ書き ← ちゃんと書こう
- 「ロールバック(する)」 = セーブデータの時点からやり直す ← できないと不便
- 「リポジトリ」 ← 正直覚えなくていい(全セーブデータの保管場所)
目次
実は1.と2.でGitの環境構築自体は終了ですが、それ以降で実際に触ってみて便利さを体感してみましょう。
1. Gitリポジトリの作成
よく分からずにただ従うだけで問題ありません。
(感覚的には「Gitを有効にする」という感じです。)
メニューバーのバージョン管理
>Git リポジトリの作成
をクリックします。
普通はプロジェクトのあるフォルダが既に選択されているのでそのままOKを押します。
大抵の人(Git for Windows等がインストールされてない人)はこの後エラーになりますので、以下の折り畳みを参照してください。
エラーが出て失敗した
Git for Windowsをインストールします。
といっても、Intellij IDEAが全部代行してくれるので1クリックで十分です。
1.の最初から再びトライしてください。
Gitリポジトリの作成が完了すると、プロジェクトビューのファイルやフォルダの名前に色が付きます。
2. 初期状態をコミット
Gitが使えるようになったので初期状態をまずセーブデータに保存しちゃいましょう。
Gitビューを開きます。
左のサイドバーの一番下、枝分かれアイコンのボタンです。
これがGitビューです。
何も無いなあ程度の感想でOKです。
続いてコミットビューを開きます。
左のサイドバーの上から2番目、玉に横一本棒が貫いているアイコンのボタンです。
ちなみに、一番上のフォルダアイコンは今表示しているプロジェクトビューになります。
コミットビューを開いたら、上部の変更
内のバージョン管理外ファイル
にチェックを付け、下部にお好みのコミットメッセージを書きましょう。
私は「最初のコミット」と書いてみました。
初回コミット時のみ名前とメールアドレスの入力が必要です。
空欄にすると怒られます。
コミット完了!
下のGitビューを見ると、今作成したコミットが追加されていることがわかります。
何やら右下に警告が出ていますが、これはどうしようもないので無視です。
エラーじゃないのでセーフ
3. やらかす
ここまででGitを使う準備ができました。
ここからは実際にGitの力を体感してみましょう。
まずはプロジェクトビューに戻ります。
左のサイドバーの一番上、フォルダのアイコンです。
starter直下にgradle.properties
という大事なファイルがあります。
ダブルクリックで開いてみましょう。
中身を見てみると分かるわかる通り、Mod名やパッケージ名、マイクラやForgeのバージョン等大事な設定を記したファイルです。
Modを作成する際に必須の超重要ファイルです。
ではこれを削除してみましょう。
プロジェクトビューでgradle.properties
をクリックし、Deleteキーを押します。
(gradle.properties
を右クリックして削除を選んでも可)
当然確認ダイアログが出ます。
安全な削除
のチェックは外しておきましょう。
ここにあったgradle.properties
が消えてしまいました。
この状態ではもうModの起動も作成もできません。
完全にやらかしました。
起動に失敗しています。
最重要の設定ファイルが失われているので当然です。
4. ロールバック
こんな状態になってしまっても、Gitなら安心です。
コミットビューを開いてみましょう。
すると、削除前はなかった変更が増えています。
どうやらgradle.properties
を削除したことが記録に残っているようです。
ではファイルの削除を無かったことにしましょう。
コミットビュー上部のボタンの左から2つ目、左からきてUターンするような矢印のボタンをクリックして「ロールバック」をします。
ロールバックのダイアログが出ました。
戻したいファイルに既にチェックが付いていると思うので、そのままロールバック
を押します。
プロジェクトビューに戻りますと、gradle.properties
が復活しています。
5. うまくいったらコミット
初期状態に戻る方法はわかりました。ですがこのままではセーブの意味がありません。最初からやり直せるよってだけじゃセーブの役割を果たしていませんね。
当然、強くなった状態でもセーブできる必要があります。
まずはgradle.properties
をダブルクリック等で開きます。
中身の1行目にMod名を指定する部分があります。
これを書き換えてみましょう。
書き換え時の細かい注意点などは初心者編で説明します。
バグっても自分で何とかする!というチャレンジャー以外は下の行をそのままコピーして貼り付けてください。
modName = My First Modding!!;
Mod名に全角文字や記号は使わないでください。
ここぞというときにバグります。
modName =
という部分は一字一句そろえてください。
少しでも違うとエラーになります。
ファイ路の中身を書き換えると、何やら像のマークが出てきました。
実はこのgradle.properties
を書き換えた際は、Gradleの再読み込みを行う必要があります。
IDEAは気を遣って「一発で再読み込みしてくれるボタン」を表示してくれているのでクリックしましょう。
ちょっと右下に実行中の処理が出たかと思うとすぐ終了します。
終了後、特に見栄えは変わりませんが心配は不要です。
このままマイクラを起動してMod名が変わったところを見たいのですが、IDEAが古いファイルをキャッシュしているせいで今のままではうまくいきません。
キャッシュのせいで変更が反映されない問題は、ModdingにかかわらずPC上で割と遭遇します。そういうもんです。
素直にキャッシュをクリアする方法を調べましょう。
今回はキャッシュフォルダを削除することで対処します。
build
の中のresources
の中のmain
フォルダを丸ごと消し飛ばしてください。
(実はbuild
フォルダ全体ごと削除しても問題ないが、再生成にすごく時間がかかるので非推奨。)
こんな忠告が出ますが問題ありません。
どうせ自動で再生成されます。
これで油断してはいけません。まだセーブしていないのですから。
「コミット」をします。
コラム:ファイルの保存とコミットの違いって?
いわゆるCtrl+S
のショートカットでおなじみの「ファイルの保存」は上書き保存ですが、「コミット」は別名保存です。
そのため、コミットをすればするほどバックアップが増えていくような状態になります。
コミットは実質バックアップなので簡単に昔の状態を復元できるという理屈です。
コラム終わり
最初にGitビューを出しておくことをお勧めします。
左のサイドバーの一番下です。
続いてコミットビューを表示します。
左のサイドバーの上から2番目です。
変更を加えたファイル名が青い色で表示されています。
(実はプロジェクトビューでもgradle.properties
のファイル名が青色になっていたことに気づきましたか?)
gradle.properties
をダブルクリックしてみると、どこが編集されたかが一目瞭然な比較ビューが表示されます。
片方をスクロールするともう片方も連動する親切設計です。
変更内容バッチリだな!と感じたら、コミットするファイル(=gradle.properties
)にチェックを入れ、コミットメッセージを書きます。
Gitビューを見ると、今しがた行ったコミットが記録されていることがわかります。
見た目の雰囲気でも見て取れますが、最初のコミットは上書きされて失われたりはせず、積み重なるように両方のコミットが記録されていることがわかります。
実は、Gitビューからコミットをクリックするだけでどのファイルを更新したかわかり、変更内容も遡れたり、さらに一瞬で任意のセーブ時点に巻き戻れる優れモノなのですが、これ以上の説明はまた今度です…
おわりに
一通りGitを実際に体験していただきました。
Gitは必須ではありません。ですが、Gitさえあればいくらでもセーブポイントを作成しておけるので、プログラミングをやる上では、使えるかどうかでヤラカシ時のリカバリ能力に大きな差が出ます。
まあ、便利なので使ってやってください。