今回の記事は、Git(ギット)というツールを紹介します。
私がソフト開発会社に勤めていたときには使っていなかったものなんですが。
多くの開発環境で利用されていて、少しでも触れておいた方が良いと思ったので、学習していきます。
Git(ギット)とは
Git(ギット)は、バージョン管理を行うためのツールです。
元々は、Linuxカーネルのソースコード管理システムをして、2005年に誕生したのが始まりです。
大規模プロジェクトを高速かつ複数人で平行して扱える仕組みを持っていることが大きな特徴です。
オープンソースのソフトウェアで GNU General Public License というライセンス形態を採用しています。
この点も大きな広がりを見せている要点の一つかと思います。
Git と GitHub(ギットハブ)
GitHub(ギットハブ)は、Git の仕組みを利用して、インターネット上での共同作業をスムーズに行うための Webサービスです。
詳細は、また違う記事で紹介予定です。
Git の基礎
Git について、調べてみると、よくわからない言葉が所々に出てきます。
コミット
コミットとは、新規作成したファイルや編集したファイルを保存することです。
Git は、変更の履歴として、管理対象となっている全ファイルのその時点の情報を保存していきます。
ファイルの状態だけでなく、操作を行ったユーザーや時刻の情報も記録されます。
コミットは自動的に行われず、ユーザーが適切なタイミングで明示的に実行する必要があります。
どのような単位でコミットするかはユーザー次第というわけです。
リポジトリ
リポジトリはコミットを保管する場所です。
ローカルリポジトリとリモートリポジトリがあります。
ローカルリポジトリは、自分が使っているパソコン内に作成する自分専用のリポジトリです。
リモートリポジトリは、ネットワーク上に存在するリポジトリのことです。
ローカルリポジトリにコミットした内容は任意のタイミングでリモートリポジトリに反映させることができます。
ホームページを FTPソフトを使って編集したことがある方はイメージしやすいかと思います。
ローカルリポジトリにコミットを行う流れは以下の通りです。
ワークツリー(作業ディレクトリ)
Git が保持している複数のコミットの編集開始地点になるのが、ワークツリーです。
最後にコミットした状態から編集されていない状態は unmodified(変更されていない)といいます。
そこから編集すると modified(変更済み)となります。
新しくファイルを作成すると、untracked(追跡されていない)という状態になります。
理由は、まだ一度もコミットされていないからです。
ステージングエリア(インデックス)
ステージングエリアは、ワークツリーでファイル編集を行ったあとにコミットしたいものを登録する場所です。
ファイルの状態は、staged(ステージングエリアに登録済)へ変わります。
Gitディレクトリ
Gitディレクトリは、ステージングエリアに登録したファイルがそれ以降変更されないデータとして保管されるところです。
最後に
いかがでしょうか。
実際の操作方法については、また別記事で紹介していこうと考えています。
昔はファイル名にルールを決めて、工夫してバージョン管理を行っていました。
今後も GIT について学習していこうと思います。