概要
旧来のバージョン管理システムは中央集権型のシステムだった為、ネットワークの接続を要すること、中央システムに負荷が集中すること等のデメリットがあった。
また、同時に編集することが困難であった。
そこで、Gitは分散型のバージョン管理システムとして開発された。
仕組み
Gitでは、分散型のバージョン管理を採用しており、バージョン管理はそれぞれのコンピュータで行えるようになっている。
バージョン管理に関する情報は、.gitと呼ばれるフォルダに格納されている。
Gitは、ファイルに差分が発生した際にハッシュ値と呼ばれるランダムな英数字列が変わる暗号学的ハッシュを利用して、差分が発生した際にバージョンの更新を行うことができる。
差分が発生したモノのうち、バージョンの更新をしたいものを選択することを「ステージング(Staging)」という。また更新を行うことを「コミット(Commit)」という。
Gitは、更新対象のファイルをハッシュ値を基に .git配下に保存する。Gitは差分を保存すると勘違いされることがあるが、差分ではなく完全なファイル(スナップショット)を保存する。
また、Gitの最大の特徴として、開発の枝(ブランチ)を分岐させたり、結合(マージ)させたりすることが比較的容易であることが挙げられる。そのため、各々の環境で同時に開発を行い、後でそれぞれの差分を結合させることができる。
なお、リモートへの同期も可能である。
同期の際は、差が発生した箇所のみ通信すれば良いため、非常に高速に同期することができる。
これらのシステムにより、手元に完全なコピーを持つことができ、オフラインでの作業も可能となる。
Gitは、現在多くのアプリケーション開発に用いられている。
多くの人が普段利用しているWindowsや世界の多くのコンピュータで利用されているLinuxもGitを利用して開発されている。
ニコニコ運営のドワンゴも従来はApache Subversionと呼ばれる中央型管理をしていたが、現在はGitも採用されている。
使い方
ローカルのレポジトリを初期化する
git init
ファイルをコミット準備状態にする(ステージング状態にする)
コミットしてバージョンを上げる
リモートにあるレポジトリからコピーする
git clone [remote_repository] [local_directory]
リモートにあるレポジトリからコードを反映する
git pull
リモートにあるレポジトリにコードを反映する
git push
作業を分岐するためにブランチを作成する
ブランチを切り替える
別ブランチにあるコードを現在のブランチのコードに反映する
関連動画
関連商品
関連項目
外部リンク
- 2
- 0pt