魔法使いの卵

WEBエンジニアの卵の成長記録

SVNとGitの違いがちょっとわかったからメモ書き残す

SVNとGitの違いがわからんかったっていう話

 

集中型か分散型か

 

どういうことやねん

 

git

リモートに本家?がいてその本家をクローンした分家を

自分の開発環境に作ることができる。

自分ですきなだけいじってローカルリポジトリにコミット。

できたらリモートにプッシュ。

壊れてもすぐにクローンして元どおり。

こいつで管理してるかぎりこわくないぜ!!

編集作業等はそれぞれの開発環境でクローンしてきたものを使って

ローカルリポジトリにコミットして最後にリモートにプッシュ

だからみんなすきなようにできる便利な子。

 

svn

ローカルリポジトリは持たないぜ!!

あるのはリモートリポジトリだけだぜ!!

gitのノリでコミットしたらいけないんだぜ!!

リモートにコミットすることしかできないから

gitよりも慎重に扱わないといけないのと

1回壊したりすると戻すのが大変なんだぜ!!

 

 

分散型と集中型は結局どうちがうん?

 

分散型

分散型は本家に対して分家を持てるから

開発するときに誰がどこをいじってるからここは今触れない

とかそういうこをとかんがえなくていいんじゃないのかなぁって。

 

集中型

集中型は本家しかないからコミットは全体に影響を与えしてまう

だからgitみたいにここまでやったしセーブすっかーみたいなノリで

つかうっていうよりもテストまでやって動くものができてから

それをgitでいうpushするってことをやってるんやとおもった。

だからコミットはgitに比べて慎重にしないといけない。 

 

今日gitとsvnの違いがわからなくてハマったから

自分なりに理解したイメージをメモ程度に書きなぐってみた。

個人的にはgitのほうがすき。

 

gitとsvnのコマンドの比較的なのをまとめてみたほうがよさそう。