【個人開発でも必須】プログラミングしたソースコードの管理について

【個人開発でも必須】プログラミングしたソースコードの管理について

「初めて開発案件に携わるエンジニア」
「個人開発を始めたけど、ソース管理をしていない方」
「ソース管理の方法がわからない方」

そんな方に向けて、記事を書いています。
はじめまして。現役エンジニアのkazと申します。

「あなたは、自分でプログラミングしたソースコードをどうやって管理していますか?」

ソースコードの管理は、いろいろあると思います。

例えば、ツールを使ってバージョン管理、バックアップとしてファイルを分けて管理、常に上書きなど、人によってばらばらだと思います。

今回は、ソースコードの一般的な管理方法や現役エンジニアが使用している管理ツールを紹介します。

ソースコードを管理しなかったときの失敗談

私の職場では、当然のようにソースコードは、バージョン管理されています。

バージョン管理とは

一つのファイルやファイルの集合に対して時間とともに加えられていく変更を記録するシステムで、後で特定バージョンを呼び出すことができるようにするためのものです。

git公式サイト

しかし、私個人で開発を使用と思ったときソースコードをバージョン管理しませんでした。
チームではなく、個人でやる分には誰かが勝手に更新するわけもないので、常に上書きすればいいと思っていました。

それが間違いだったのです。
エラーが発生し、どうやっても元の状態に戻せなくなったのです。
この時、私はバージョン管理の大切さを知りました。
もしバージョン管理していれば、システムが動いていたバージョンと見比べることでエラー発生の原因を突き止められたはずです。

今回は、皆さんに私と同じ失敗をしないように記事を書かせていただきます。

ソースコードをバージョン管理するメリット

・エラーが発生した時、前回のバージョンと見比べることで、エラーの発生原因を見つけることができる

・大幅に修正した後、前回のコードのほうがよかったと方向転換した時に素早く元に戻せる

チーム開発でのソースコード管理について

チーム開発において、ツールでのソースコードのバージョン管理は必須であると言えます。

例えば、誰かがある部分を更新し、同じ個所を自分も更新したとします。
この場合、どちらが正しいのかわからなくなり、放置するとトラブルになります。

もし、ツールでバージョン管理を行っていれば、上記のようになった場合、「競合」という状態になります。
どちらが更新したコードを優先するのか判断することを迫られるため、初期段階で問題が発覚します。

個人開発でのソースコード管理について

個人開発においては、ツールを使用せずにソースコードを管理は必須ではありません。
しかし、上記でもお伝えしたようにエラーが発生した場合、前回からどこが変わったのかが重要なカギになります。

そのため、ツールは使わなくても、バックアップを取っておかなければいけません。

現役エンジニアが使用するバージョン管理ツール

TortoiseSVN

こちらのツールは、実際に職場でのソース管理にも使用しています。

GUI(コマンドではなく画面クリックでの操作)のツールであり、複雑なコマンドを覚える必要がありません。

最初のうちは、競合の解消方法などバージョン管理になれる必要がありますが使いやすいです。

github

みなさんも一度は聞いたことがあるのではないでしょうか。
ソース管理のツールとして有名なgithubは、ソースをクラウド上で管理するため、作業場所を選びません。

こちらのツールは、私の個人開発のソースコード管理に使用しています。

会社のソースコードを管理する場合は、セキュリティ等に十分注意してください。