おひとりさまの限界Git
この記事は戦い Advent Calendar 2022の4日目の記事です。
対象読者
イントロダクション
開発をしていると、「Gitって便利だよ、ブランチを使って機能の開発をブランチごとに分けることができるし、他の人と共同開発できるし、開発した機能に不具合があったら差し戻せるし……」などという記事を見かけるかと思います。
うるせ~~~しらね~~~~~~~~~俺は1人で開発してんだよ!!!!Gitなんていらね~~~
……という人に向けた、1人開発のときに特に便利な機能だけを説明したGitの使い方説明です。ここではブランチもマージもクローンもコンフリクトも扱いません。ただ変更を管理しやすいツールとしてのGitの説明を行います。では行きましょう。
1人開発でGitを使うことのメリット
1人開発でGitを使うことのメリットは実は巷で言われている「過去のバージョンに差し戻せたり、機能の開発を小分けにできたり」ということではありません(そういうこともできますが)。
開発が進んで、ソースコードが大量かつ長くなってくると、どこのあたりに変更を入れたのか探すのが大変ではないでしょうか?
VSCodeなどでは、Gitに保存した最新のデータからの変更をわかりやすく表示することができます。
定期ゲーを開発していると、HTMLとCSSを行き来してどこいじってたっけ……となるのはありがちだと思われるのですが、これがあればどこが作業中なのか一目瞭然で、作業が非常に捗ります。
今回はこのメリットを享受する方法に絞って解説を行っていきます。
Gitのインストール
まずGitをインストールしましょう。https://git-scm.com/を開き、「Download for Windows」→「Click here to download」を選択してインストーラーをダウンロードします。
ダウンロードしたらインストーラーを起動します。とにかく色々聞かれますが、全てデフォルトで大丈夫です。Windowsの右クリックしたときのメニューに何か増えるのが嫌な場合は↓だけチェックを外しておきましょう。
インストールが完了したらコマンドプロンプトで"git version"を実行してみましょう。正常にインストールできていればバージョン情報が返ってくるはずです。
続いてGitのユーザー名とメールアドレスを指定しましょう。Gitは本来他の人と一緒に使うことを想定したツールのため、個人を識別する情報を入れる必要があるのです。
……が、今回はおひとりさま利用なので特に気にする必要はありません。とりあえず動かすために適当に入力してしまいましょう。コマンドプロンプトにこんな感じで入力、実行してください。メールアドレスは検証されたりしないので何でもOKです。
もしGitHubなどを使う予定があるのであれば、ここで入力したものは全世界に公開される可能性のある情報だということに注意してください。そのような予定がある場合は公開されても問題ないようなものを使いましょう。
これでGitのインストールは完了です。
変更履歴を管理する
ではプロジェクトの変更履歴を管理してみましょう。Gitのインストール後、VSCodeを再起動してプロジェクトを開くと、ソース管理タブの中身が以下のように変わっているので、Initialize Repositoryを押します。
すると、プロジェクト内のファイルが全部表示されるので、Changesと書いてあるところの右の+を押しましょう(最初+が見えてないと思いますが、Changesの箇所にマウスカーソルを合わせると出てきます)。
上記を行うとChangesがStaged Changesに変化するので、Messageと書いてあるところに適当にコメントを書いてCommitを押しましょう。これで現在のプロジェクトの状態を保存することができます。
このように、現在のプロジェクトの状態をGit上に保存することをコミットと呼びます。それに対して、状態を保存したもののことをリポジトリと呼びます。
ちなみにコメントなしで保存することはできません。本来はどういう変更を入れたのか等を書いておくべきすが、他人と共同開発しないのであれば「あ」とかでいいです。
ではコミットした状態からファイルを変更してみましょう。ファイルを追加してみたり、何行か削除してみたり、コードを追加してみたりします。どんな場所に変更を行ったのか一目瞭然です。
他にも、試しに書き換えたりしてみたコードがやっぱりダメでキャンセルしたいということは往々にしてあると思うのですが、Gitがあれば変更をキャンセルするのも簡単です。変更箇所を押してボタンを押すだけ。いちいち変更前のコードをメモ帳に退避しなくてもよくなるのでとっても便利です。
だいたい機能作り等が一段落したな~とおもったら最初の時にやったコミットと同じ手順でコミットしましょう。Gitに保存された状態が更新され、表示をリセットできます。
限界Gitの使い方は以上!一人での開発ならこれぐらい気楽に使っちゃってもいいと思います。もちろんGitはより高度な使い方もできるので、自分のレベルに合わせて便利に使っていきましょう。
以下は細かなHow Toが続きます。
一部のファイルだけコミットしたい
上では説明を省きましたが、実はコミットの際はコミット対象にしたファイルの状態のみを保存します。コミット対象にすることをGitではステージといます。
今までは実は全部のファイルをステージしてコミットしていたのです。当然一部のファイルだけをステージすることもでき、VSCodeではファイルごとに個別に+を押せばOKです。
これでStaged Changesに入ってるファイルだけをコミットすることができます。
リポジトリを初期化したい
プロジェクトでGitを使えるようにした後、プロジェクトの中身をエクスプローラーで見に行くと「.git」という隠しフォルダが増えています。
リポジトリの実ファイルは全てこの中に入っています。なので、このフォルダーを消去すると初期化できます。
一部のフォルダーやファイルは管理対象外にしたい
定期ゲーなどでは、戦闘ログの生成等で一部のファイルが動的に生成されることがあります。このようなファイルは管理対象に含めてしまうと面倒ですよね。そんなときに使うのが「.gitignore」ファイル。git + ignoreで.gitignoreです。
まずはプロジェクトフォルダーの一番上に「.gitignore」ファイルを作成し、開きましょう。
このファイルの中に無視したいファイルやフォルダーを書くと、それらを管理対象外としてくれます。以下のように書きます。
ちなみにすでにバージョン管理してしまっているファイルに対しては.gitignoreを書いても無効です。リポジトリを初期化しなおしたりして、管理したくないファイルが入っていない状態にしましょう。
ここで紹介した.gitignoreの書き方は一部です。より詳しく知りたい場合は「.gitignore 書き方」などで調べてみるとより詳しい情報が見つかるでしょう。