おはようございます!マネジメントオフィスいまむらの今村敦剛です。
業務をやっていると、文書の最新版管理や変更管理が重要になるケースってありますよね。一般的にはファイルサーバーにフォルダを作ったりファイル名を工夫したりして管理していると思うんですが、結構大変です。そこで今日は、エンジニアにおなじみのツールを使って、このような文書の変更管理・最新版管理が無料でできる方法をお話したいと思います。
動画でも解説しています(無料・登録不要)
最新版管理や変更管理を無料でできる神ツール
今回使うツールを説明します。

まずGit(ギット)です。これは、自分のPCで動く「バージョン管理システム」というソフトウェアです。ファイルの変更履歴を管理する役割です。
もう一つツールがあります。GitHub(ギットハブ)といいます。これは、Gitで管理しているファイルを、インターネット上に保管し、チームで共有するためのWebサービスです。クラウドサービスみたいなものです。
GitとGitHubで使う4つの「場所」
GitとGitHubがどのように使われるのか、具体的なイメージを見てみましょう。GitとGitHubでは4つの「場所」を使います。この「場所」について理解をするところから始めます。

まずはローカル環境に作られる作業ディレクトリです。これは作業場のようなもので、実際にファイルをローカルで編集する場所のことですね。
続いてはステージングエリアです。作業ディレクトリの次に、修正したファイルが送られる場所です。仮置きする場所のようなイメージですね。
その次に、修正したファイルが保存される場所が、ローカルリポジトリという場所です。リポジトリ(repository)とは、貯蔵庫とか倉庫という意味ですね。このローカルリポジトリは、作業者のローカル環境(PC)にあるので、いわば支店の倉庫みたいなものですね。
そしてここからが、サーバー側の話です。最終的にファイルが保存されるのが、リモートリポジトリといいます。これはGitHubに作られる倉庫で、ここに最新版の原本ファイルを置いておくことで、複数の作業者がファイルを共有できるようになります。もちろん、バックアップを保存する場所でもあります。いわば本社の中央倉庫のようなイメージです。
Git/GitHubの全体的なイメージ

リモートリポジトリとローカルリポジトリは、コマンドを実行したタイミングで同期されます。そして、その後、原本の内容が作業ディレクトリに反映されます。自動で同期されることはなく、必ず手動での操作が必要です。これはGitの特長の一つでもあります。自動のほうが便利なのにと思うかもしれませんが、これは意図しない変更を防ぐためでもありますね。
ところで、ローカルリポジトリとリモートリポジトリには、履歴のファイルも保存されています。一方、作業ディレクトリには履歴のファイルはありません。作業ディレクトリはあくまで「ある一時点の作業台」にすぎませんので、本当の資産である「全履歴」はリポジトリの中に保管されています。
このようなローカル環境の仕組みを、作業者ごとに持ちます。

作業者ごとのローカル環境は、サーバー(GitHub)とつながっています。各作業者のローカルリポジトリ(支店倉庫)に対して、リモートリポジトリ(本社倉庫)はチーム全体のハブとして機能します。具体的には、データのバックアップ、メンバー間のデータ共有、そして公式なバージョン管理を行います。このようにリモートリポジトリは、『唯一の信頼できる情報源』となるわけですね。
次回は、具体的な作業・保存・共有の流れを説明します。
