SubversionとGitの違いは、集中管理か分散管理かの違いといわれる。
Subversionは、1か所で集中的に構成管理をするのに対して、
Gitは、1つの統括したマスタはあるものの、このマスタから分割して管理する。
Subversionには、この分割して管理するという思想がないため、
分割先からマスタに対してアップロード、ダウンロードする
push,pull(およびこれにinitを足したclone)という操作がない。
また、subversionでは、変更したものをコミットするのが普通と考えるため
Gitのようなindex(ステージング?)という概念がない。操作的にはaddがなく、
変更後commitする形になる。
subversionには、分割して管理するという概念がないため、複製を作った場合、
どっちが偉いという概念はなく、ただのコピーとなる。
gitでは、この操作はブランチということになるが、ブランチではマスター側と
分岐した側が明確である、
この3点
(1)push,pull,clone
(2)addとインデックス
(3)ブランチ
がgitとSubversionの差であり、これらは、gitが分散管理をするという、
subversionとは異なる構成管理の思想を持っているからになる。
なのになのに、Tortoise SVNとTortoise GITでは、そこまでの文化の差を感じず、
普通に操作できてしまうのだが、その秘密は、作り方にある。
(1)push,pull,clone:差分がTortoise SVNのメニューの中に入れこまれて、
普段は見えない(気にしない)
(2)addとインデックスSVNでもAdd,indexができるように改善
indexをTortoise SVNのcommitするときのダイアログの下側にだし、addと同じようなことが
できるように配慮されている
(3)ブランチ
ブランチというメニューを作り、コピーなんだけど、ブランチっぽくしている。
これらによりTortoise SVNはGitとの差を縮めている
、
Subversionは、1か所で集中的に構成管理をするのに対して、
Gitは、1つの統括したマスタはあるものの、このマスタから分割して管理する。
Subversionには、この分割して管理するという思想がないため、
分割先からマスタに対してアップロード、ダウンロードする
push,pull(およびこれにinitを足したclone)という操作がない。
また、subversionでは、変更したものをコミットするのが普通と考えるため
Gitのようなindex(ステージング?)という概念がない。操作的にはaddがなく、
変更後commitする形になる。
subversionには、分割して管理するという概念がないため、複製を作った場合、
どっちが偉いという概念はなく、ただのコピーとなる。
gitでは、この操作はブランチということになるが、ブランチではマスター側と
分岐した側が明確である、
この3点
(1)push,pull,clone
(2)addとインデックス
(3)ブランチ
がgitとSubversionの差であり、これらは、gitが分散管理をするという、
subversionとは異なる構成管理の思想を持っているからになる。
なのになのに、Tortoise SVNとTortoise GITでは、そこまでの文化の差を感じず、
普通に操作できてしまうのだが、その秘密は、作り方にある。
(1)push,pull,clone:差分がTortoise SVNのメニューの中に入れこまれて、
普段は見えない(気にしない)
(2)addとインデックスSVNでもAdd,indexができるように改善
indexをTortoise SVNのcommitするときのダイアログの下側にだし、addと同じようなことが
できるように配慮されている
(3)ブランチ
ブランチというメニューを作り、コピーなんだけど、ブランチっぽくしている。
これらによりTortoise SVNはGitとの差を縮めている
、