先祖返りとは? Web業界における先祖返りの原因と対策
「先祖返り(せんぞがえり)」という言葉を知っていますか?知っている人にとってはあまり聞きたくない言葉の1つかもしれませんね。今回はWebサイトの制作現場で使われる先祖返りの意味、防止方法、被害を抑える対策を解説します。
目次
先祖返りとは?
先祖返りとは、簡単に言ってしまうと、「データを更新した際に、何らかの原因で昔の状態に戻ってしまうこと」です。前の状態に戻ることから先祖返りと名付けられています。
先祖返りの例
いつの間にか以前の状態に戻ってしまう先祖返り。具体的な例として、
- テキストや写真が以前の状態になっている。
- 修正したバグや不具合が再び発生する。
- 使えていた機能が使えなくなる。
などが挙げられます。
先祖返りの原因
先祖返りの原因のほとんどが人為的なミスによるものです。
- 最新ファイルではなく、過去の旧ファイルで修正してしまう
- ファイル名がバラバラでそもそもどのファイルが最新ファイルかわからない
- 同時に複数人で作業していて、更新したファイルをさらに別の人が反映せずに上書きしてしまう
などがよくあるパターンです。
先祖返りとデグレードのちがい
先祖返りとデグレードを混同しているケースも見受けられます。デグレードとは、アップグレードの逆、つまり「データを更新した際に昔の状態よりも機能・性能が悪化すること」です。あくまで先祖返りは前の状態に戻ってしまうことで、先祖返りはデグレードの一種という認識が正しいといえるでしょう。
先祖返りの対策
できれば未然に防ぎたい先祖返り。どうすれば防止することができるでしょうか?ここでは先祖返りの防止方法を解説します。
先祖返り対策①不要なファイルをアップしない
たくさんのファイルをアップしてしまうとどのファイルが最新ファイルなのかがわからなくなってしまいます。そうならないためにも当たり前ですが、不要なファイルはアップしないようにしましょう。
先祖返り対策②上書きする前にファイルを確認する
ファイルを上書きしてしまうと、上書き以前のファイルデータは無くなってしまいます。ファイルを上書きする際は、本当にそのファイルが最新の正しいファイルなのかその都度確認するようにしましょう。
先祖返り対策③ファイル名に規則を設ける
ファイル名に規則がないとどのファイルが最新であるかわからないだけでなく、最新ファイルを探すために時間がかかってしまいます。複数人で作業している場合は特に共通した規則を設けましょう。具体的な方法の例として、日付やアップデートごとに数字を追加するなど挙げられます。
先祖返りの被害を抑えるためには?
先祖返りが未然に防げるに越したことはありません。ですが、いくら防ごうと努力しても起こってしまうのが先祖返り。もし先祖返りが起こってしまっても被害を最小限に抑えることができるよう対策を日頃から行いましょう。ここでは防止方法をいくつかご紹介していきます。
バックアップをとる
旧ファイルを最新ファイルに更新するたびにバックアップを取りましょう。そうすることで最悪、最新ファイルが上書きされてしまってもバックアップのおかげで最新の状態に比較的短い時間で復旧することができます。
バージョン管理ツールを使う
そんなバックアップを簡単に行えるのが「バージョン管理ツール」です。バージョン管理ツールを使えば、ただバックアップをしてくれるだけでなく、ファイルの追加や削除などの変更履歴を管理してくれます。また、複数人のファイル編集であってもだれが変更したかなどもわかるようになっています。
それだけでなく、バージョン管理ツールでは、ファイルを保存するたびにコメントをつけることができたり、変更した日付も管理してくれます。そのため、上記で「ファイル名に規則を設ける。」と述べましたが、バージョン管理ツールを使えば、ファイルに名前を付ける手間が省けます。
先祖返りを防ぐバージョン管理ツール3選
では、ここから先祖返りを防ぐのに有効な、おすすめのバージョン管理ツールを紹介します。
Git(ギット)
Gitとといえば、皆さんも一度は聞いたことがあるのではないでしょうか。
Gitを使用すれば、
- ファイルの変更履歴の管理
- 過去のファイルに戻せる
- 「コンフリクト」というエラー表示により先祖返りを未然に防げる
など様々なメリットがあります。
また、Gitは、システムを構成するデータやプログラムの情報が納められる「リポジトリ」と呼ばれるものを複数持つことができるため、分散型バージョン管理システムと言われます。ローカル環境にもリポジトリを持つことができるので、共有リポジトリを汚すことなく、ローカル上で作業できるというメリットもあります。
Git Hub(ギットハブ)
上記のGitをサーバー上で管理できるようにしたのがGit Hubです。
- ファイルを一括管理して共有するので、常に最新のファイルがわかる
- だれが変更したかわかる
- コメントにより何を変更しただけでなく、なぜ変更したのかまでわかる
など複数人での作業によるミスをなくすことが可能です。
SVN(Subversion)
SVNもGitと同様なことができます。しかし、Gitに対し、SVNは、リポジトリが1つしかないため、集中型バージョン管理システムと言われます。なので、テストのためのコードや未完成なコードも共有リポジトリで書かなければならないというデメリットがあります。
まとめ
先祖返りは基本的に人為的なミスによるものです。そのため、作業する人、各々が意識的に行動、対策することで防げるパターンがほとんどです。また、先祖返りが起こってしまうと膨大な時間を修正に要することもあります。ひとつひとつの行動、対策を怠らずに、未然に防げるよう努めましょう。
この記事の著者
ITRA株式会社
官公庁や大手企業を中心とした大規模なWebサイトを総合的にプロデュースするWeb制作会社。デザインからシステム、サーバーまでWebサイトに関わるお客様の悩みを解決します。
初めて使う人にも使いやすく、セキュリティレベルの高いCMSパッケージ「iCMS」
詳しくはこちら