🐙

【Git】一人プロジェクト管理のすゝめ

2025/01/30に公開

はじめに

私はしがない個人開発者なので、常にプロジェクトは一人で動かしている。
言わずもがな一人ならソースコードはローカルで管理すればよいだろうが、今回はあえて一人でGitHubを使ってプロジェクトを管理することの利点を書いていく。

利点

  1. ローカルがだめになっても復旧できる
  2. 時と場所を選ばずソースコードを修正できる
  3. タスク管理を行い、円滑な開発ができる

ローカルがだめになっても復旧できる

他のクラウドサービスでもまあできることだが、GitHubを使うことで他の機能の恩恵に与ることができる。
例えばある時点までソースコードのバージョンを戻したい時、単なるクラウドサービス(Google drive、dropbox)などでは容易に戻すことができない。
一方、バージョン管理機能を備えたサービスであれば、コミットを追っていけば簡単に戻すことができる。

時と場所を選ばずソースコードを修正できる

GitHubではスマートフォンからでもソースコードを閲覧・修正できる。もちろん、メインで使用しているPC以外の端末からでもアクセスできる。
PCの複数台持ちも多い事だろう。そんな時に複数端末で同じプロジェクトを触れるというのはかなりのメリットになるはず(少なくとも私はそうだった)。

タスク管理を行い、円滑な開発ができる

ご存じの方が殆どだろうが、GitHubにはissueという概念があり、管理しているプロジェクトに関するタスクのようなものをissueとして発行できる。他のサービスでいうところのチケットだったり、またはメモ付きの付箋のようなものだ。
GitHubでissueを使ってタスク管理も行う事で、開発に関する操作をGitHubに集約させることができる。
また、issueとbranchを組み合わせて使用することで、開発の流れが理解しやすくなる。

issueとbranchの合わせ技

例えば、「ログイン画面を実装する」という開発を行いたい時、まずはそれに対応したissueを作成する。(ここでは「ログイン画面実装」という名前とする)
いざ実装に着手するとき、初めに新たなブランチを作成してみる。そのブランチでログイン画面実装を進め、完成したらメインのブランチに新たに作ったブランチをマージする。これで、ログイン画面の実装ができる。
最後に、「ログイン画面実装」のissueを閉じ、タスク完了とする。

「別にブランチを作らなくてもできるんじゃないの?」という意見があるだろうが、ここで伝えたいのはできるかできないかではなく、便利になるかどうかである。
今回の例で言うと、ログイン画面の実装をしている最中に別画面の実装をしたくなった場合、ログイン画面のブランチはメインのブランチとは別で存在しているので、ログイン画面の実装とは関係なく別の実装を進めることができる。

チーム開発の経験があり、ブランチに抵抗感のない方なら理解が速いかもしれないが、メインブランチは「エラーが発生せず、ある程度出来上がったものを管理する」、他のブランチは「新たな機能の実装、バグの修正、リファクタリングをする」として運用することで、「あれもこれも実装途中のとっ散らかったプロジェクト」が出来上がることを防げる。
これを個人でも行う事で、常に整理されたデスクで作業をしているような状況を作ることができる。

注意

とはいえ、ここまで熱弁しておいて身も蓋もないのだが、一人で開発される方はメモ帳やそれに準ずるタスク管理用のツールなどを使っていることがほとんどなので、それを使い慣れている場合は無理にissueを使用する必要はないだろう。

まとめ

上述したことが全てなのだが、個人開発をしておりここまで読んでくださった熱心な方は是非この運用を試してみてほしい。

Discussion