Git / Subversion用語コマンド比較
.Github使い出したのはいいけど、Git自体の用語があんまりわかってなかったので、調べてみた。
せっかくなので、書き記します。
GitとSubversionの違いは
そもそもリポジトリとは、更新履歴が保存できる特殊な仕組みのディレクトリのようなもの。
SVNは単一、Gitは分散。(分散型はGitの他にMercurialやSVKでも使われている)
- Subversionの場合はリポジトリは1つ。各々が1つのリポジトリに対して更新。ローカルには特定バージョンが、ワーキングコピーとしてファイルが保存される。
- Gitの場合はリポジトリが分散。各自が持てる。(作業ディレクトリそのものが、ローカルリポジトリになる。)
- Gitの場合は、分散型なのでメインとなるマスタリポジトリが消滅しても安心。
- SVNだと、各フォルダに隠しフォルダ「.svn」が作成されてしまう。うっとおしい。
Gitの場合は、親フォルダにのみ隠しフォルダ「.git」が作成される。 - SVNでできていた連番のリビジョン番号での管理がGitではできなくなる。
- Gitはコミットはローカルリポジトリに対してだからスピーディ。