S-JIS[2011-09-20/2022-03-09] 変更履歴

Git

Git(ギット)は分散型バージョン管理システム。


概要

Git(ギット)は(CVSSubversion(SVN)のような)バージョン管理システムの一種で、リポジトリーが分散できるのが特長。

GitHub(ギットハブ)は、GitのリポジトリーをWeb上で提供してくれるサービス。


「リポジトリー」とは、データ(ファイル)の最新版や変更履歴の管理(保存・保持)を行っている場所のこと。

SVNの場合、リポジトリーはどこかのサーバー上に置き、各クライアントはそのリポジトリーに対してコミットしたり更新(最新版を取得)したりする。
リポジトリー1つにつき複数のプロジェクト(ディレクトリー)を入れて管理する。

Gitの場合は分散システムなので、中央集権的なリポジトリーというものは無く(そういう使い方は出来るが)、各クライアントは元となるリポジトリーをそのままコピー(クローン(複製)を作成)し、自分のローカルマシン上にリポジトリーを構築する。
コミットはローカルリポジトリーに対して行う。
クローン元となったリポジトリーに対しては、pushで反映、pullで最新版を取得できる。
Gitでは1リポジトリーが1プロジェクト?


「作業ディレクトリー」は、ソースを修正したりする場所。
修正が完了したら、リポジトリーに対してソースをコミットする。

SVNでは、リポジトリーから“チェックアウト”することで作業ディレクトリーを作成する。
作業ディレクトリー内の各ディレクトリー毎に「.svn」という管理ディレクトリーが作られる。(SVN1.7から、ルートディレクトリーのみになったようだが)

Gitでは、クローンして作ったローカルリポジトリーそのものが作業ディレクトリーになる。
作業ディレクトリーのトップにのみ「.git」という管理ディレクトリー(リポジトリー本体)が作られる。
(バージョン管理対象外を指定する為の.gitignoreファイルは、各ディレクトリーに配置できる)


技術メモへ戻る
メールの送信先:ひしだま