git(ギット)サーバとは、プログラムの変更履歴を管理するシステムのことを指します。バージョン管理システムともいいます。
例えば、ファイルを編集前の状態に戻したいときや、複数名で同時に同じファイルを編集してしまった際など、バージョン管理システムが構築されていない状態だと、元の望ましい状態への復旧が難しくなります。
この記事では、利便性が非常に高いものの、あまり一般的には知られていないgitサーバの構築について、解説します。
▶目次
1、Gitサーバとは
Gitサーバの概要について解説します。
Gitとは
Gitサーバは分散型バージョン管理システムの一つで、元々はLinuxのソースコードを効果的に判断するために開発されました。バージョン管理システムはGitの他にもいくつかありますが、現在はGitが最も主流のバージョン管理システムとして採用されています。
Gitサーバを使用すると、以下のような場面でも簡単にトラブルを解決することができます。
- ファイルの編集を行い、保存した後に、編集前のファイルデータに戻したい時
- 複数のスタッフで同じ情報を共有している際、同時にファイルを編集し先に保存したスタッフの情報が上書き保存によって消失されてしまった場合
Gitのバージョン管理機能
Gitを使用すると、ファイルの状態を好きな時に更新情報として保存しておくことができます。
上書き保存したデータを過去の状態に戻したり、編集した箇所の編集前との違いを表示させたりすることができます。
また、複数のアカウントで一つのファイルを上書き保存する際には、後から保存する際に警告文書が表示されます。警告によって、他のスタッフがファイルの更新を行ったことを知ることができるので、知らないうちにデータを上書きしてしまうといった事態を避けることができます。
2、Gitサーバの仕組み
Gitサーバの仕組みについて解説します。
Gitの構築
Gitサーバを構築するには、サーバPCにGitをインストールする必要があります。Git for Windowsという無料のオープンソースが公開されています。
リポジトリ
リポジトリとは、ファイルの状態を保存するための場所です。保存された状態は、ファイルの変更履歴として保存されます。
リポジトリには、以下の2つがあります。
- リモートリポジトリ
- ローカルリポジトリ
専用サーバに設置する、複数人で共有するためのリポジトリです。Gitサーバを利用する際には、リモートリポジトリを使用します。リモートリポジトリを使用して、他のスタッフが編集した内容を取得することも可能です。
個々のPCに設置して、ユーザー一人ひとりが更新情報を管理するために使用します。
ローカルリポジトリで行った作業を、リモートリポジトリに反映させるという手順を踏んで、チーム内で作業内容や変更を共有します。
コミット
ファイルの追加や変更を行うには、コミットという操作をリポジトリに対して行います。
コミットを実行すると、リポジトリ内の格納庫に前回の保存内容からの更新・変更箇所を表すものが作成されます。このコミットをたどることによって、ユーザーは更新ごとの変更内容を確認し、必要に応じて更新前のデータを使用することができます。
コミットを実行する際には、コメントの入力が必須です。変更内容の要約、変更理由を入力しましょう。空白のままでは保存できません。
ワークツリーとインデックス
Gitの管理下に置かれたファイルのことをワークツリーと言います。ワークツリーを作業し、更新や変更を行った結果をGitサーバに保存するには、インデックスの設定が必要です。つまり、ファイルをそのまま保存しただけでは、コミットを行うことができません。
3、まとめ
この記事は、プログラムの変更・更新履歴を管理するバージョン管理システムであるGitサーバの構築について解説しています。
Gitサーバを構築すると、更新前の情報に戻したいものの更新前のデータの所在がわからない、チームの複数名のメンバーで同時に更新作業を行ってしまい、更新データが消失してしまった、などといったトラブル解消に役立ちます。Gitを利用するには、オープンソースのソフトウェアをインストールする必要があります。
個々のPCのデータを管理するローカルリポジトリと、チームのデータを管理するリモートリポジトリの二種類があります。