【入門】Gitってなんだ?
プログラミングを勉強していると度々目にするGitというワード。
本記事ではこのGitについて、「そもそもGitってなんだ?」という所から解説していきます。
Gitってなんだ?
Gitはバージョン管理システムの1つで、分散型バージョン管理システムと呼ばれています。
分散型バージョン管理システムとは何どういうものか?
それが生まれた背景を辿っていきましょう。
バージョン管理システムの歴史
ローカルバージョン管理システム(ローカルVCS)
多くの人はファイルを作成し、更新する時にこのような履歴を残してバージョン管理をするかと思います。(もしくは残さず上書き保存するかと思います。)
資料Aフォルダ
├ 資料A_ver1.xlsx
├ 資料A_ver2.xlsx
└ 資料A_ver3.xlsx
このバージョン管理を効率よく行うために、バージョン管理システム(VCS)が開発されました。
この段階でのVCSはデータベースが個人のPCに設定され、ローカルバージョン管理システムと呼ばれていました。
集中型バージョン管理システム(CVCS)
ローカルのVCSでは個人のPCにデータを残すため、複数人での開発に不向きでした。
そこで登場したのが集中型バージョン管理システム(CVCS)です。
CVCSでは全てのバージョン履歴がひとつのサーバーに保存され、それぞれの開発者が自分に必要なファイルを参照します。
しかしCVCSにも弱点がありました。
それは障害への耐性です。
サーバーが停止すると、共同作業がストップしてしまいます。
また、サーバーが破損すると全てのデータが消えるのも問題です。
分散型バージョン管理システム(DVCS)
CVCSの課題を克服するために、分散型バージョン管理システム(DVCS)が登場しました。
DVCSではCVCSと同様にバージョンデータベースサーバーを設定しながら、開発者全員がそれぞれの個人PCにそれをミラーリングします。
この方式にすることで、サーバーが停止してもローカルのデータベースで作業を継続でき、サーバーのデータが破損してもローカルのデータで復元できるようになるため、影響を最小限に抑えられます。
このDVCSのひとつがGitということです。
この記事が気に入ったらサポートをしてみませんか?