#Gitについてまとめていきます
最近gitを使う機会が増えてきて、理解しているつもりでも意外と理解できていないことがあったので自分なりにgitについてまとめていこうと思います。
何回かに分けて書いていこうと思いますので、「何かここ違うんじゃ、、、」等ありましたら指摘、アドバイスよろしくお願いします。
#そもそもGitって?
分散型バージョン管理システムのこと
簡単に言うといろんなファイルのバージョン管理が簡単にできるシステムのこと、分散型なので複数人で編集したりする時に便利で、編集履歴を複数人で共有できたりします。バージョンを戻したりするのも簡単です。
#分散型をもう少し詳しく
分散型というものを理解するにはSubversionと比較するとわかりやすいのでSubversionとの違いを見ていきたいと思います。
ちなみにSubversionというのは__集中型バージョン管理システム__です。大きな違いは。。
###ローカルリポジトリの有無
集中型のリポジトリ(バージョン管理するためのデータベースのようなもの)がリモートにのみ存在するのに対し、分散型は各々のローカルにもリポジトリが存在します。
イメージでいうとこんな感じです。
Subversion(集中型)はリポジトリが1つで仕組みがシンプルですがGit(分散型)はリポジトリが複数存在することになるので少し複雑になります。集中型と違い分散型はローカル上でコミットでき、尚且つ変更内容を共有(リモート)リポジトリに反映させるかは任意なので試験的や未完成なもので他の人に迷惑をかけることがなく作業できます。またローカルにリポジトリが存在するのでブランチやマージといった操作が手軽に行えます。
ざっくりとした説明でしたがなんとなくgit(分散型)についてイメージできたでしょうか、リポジトリやコミット、マージと言った言葉が出てきて難しいとは思いますが、それぞれの言葉についても簡単に説明した記事を書きましたのでよかったらみて見てください。
こちら→Gitで使う用語のまとめ
あとはGitの仕組みについてなどもいろいろ試して書いていこうと思います。記事が完成次第こちらにもリンク等追加していこうと思いますのでよかったら見てみてください。