ただいま3人体制でsekasukuというWebアプリ開発をしています。
ソーシャル問題解決sekasuku https://sekasuku.com/
3人でやると、Web上にある同じファイルを同時に編集したりとか、編集内容が衝突するのが心配です。
分かりやすい例で言うと、ネットワーク上にあるExcelファイルを誰かと同時に開いたりすると「誰か触ってるから読み取り専用モードにしとき」って忠告受けますよね。
ムリに同時編集すると、必死に編集した内容を、あとから上書きされて編集内容が消えてしまうなんてこともあります。
あと、誰が、いつ、どんな変更したっけ?とか、変更した時からおかしくなったから、そこだけ戻したいんだけど!とかありますよね。
Web開発をするような人たちは、こういうのをテクノロジーで解決する人たちなので “バージョン管理システム” という仕組みを作りました。
現在の代表的なものにGit(ギット)というものがあります。
http://www.backlog.jp/git-guide/
自分のローカルPCにWebとのクローンを作っておくと、クローン内にある全部のファイルの1行1行すべてについて、ここが追加、ここが削除、ここが変更、と変更内容が逐一記録されていきます。
誰かが編集したときは「プル」して変更内容を自分のところに持ってきて、自分が変更した時は「コミット」して、こんな編集したよとお知らせします。
よければ「プッシュ」でWeb上にアップロードします。
むかし1人でホームページとか作ってた時はエディタで書いて、FTPソフトでアップロードして、パーミッションを決めて、とかやってたんですけど。
時代は変わりましたね。
Gitはバイナリファイル内の変更は記録できないようなので、Excelの中身を編集したとか、CADの中身を編集したとかは管理できないのが残念です。
このへんは、うちはファイルサーバで256バージョンくらいファイルの過去履歴をもっているので、頻繁に編集しているファイルでも1年前のこの時点のファイルを持ってくる、と出来るので良いのですが、変更内容はGitのようにログは取られないしコメント入れたり出来ないのでGitみたいになると良いですね。
それにしても、IT屋さんの考えることってすごいですね。