Git

SVN脳の私がGitを触ってみた話

今までSVNしか触ってきたことのない私ですが、ついにGitでソース管理している仕事に関わることになりました。独学で用語は調べたり本を読んでいたものの、複数人開発で使ってみるとまた違う・・・。やはり実際開発で使ってみるのが一番良いですね。

というわけで、Gitの基本とSVNとの違いを、自分の備忘メモとして残しておきます。


Gitとは

分散型バージョン管理システムのこと。SVNは集中型バージョン管理システムと呼ばれている。


ローカルリポジトリとリモートリポジトリ


リモートリポジトリ

サーバー上のリポジトリのこと。SVNのリポジトリと同じイメージ。


ローカルリポジトリ

自分のPC内にあるリポジトリのこと。リモートリポジトリをクローンして作る。SVNのチェックアウトに近いイメージ。


コミットとプッシュ


コミット

ローカルリポジトリに変更を反映すること。SVNは直接リモートリポジトリへ変更を反映する。


プッシュ

ローカルリポジトリにリモートリポジトリに変更を反映すること。

SVNではコミットだけだったけど、Gitはコミットしたらプッシュ。


プルとフェッチ


プル

リモートリポジトリから変更をローカルリポジトリに取り込むこと。SVNでいう更新。


フェッチ

リモートリポジトリの最新の状態を取得する。ローカルリポジトリに変更は反映されないので、リモートの最新状態を取得したいときに使う。


ブランチについて

Gitにはtrunkと呼ばれるものはなく、全てブランチと呼ぶ。Gitでmasterブランチと呼ばれているものがSVNのtrunkに相当するものになる。

他にもまだまだ機能はあるけど一旦ここまで。


Git使ってみて感じたこと

リモートリポジトリとローカルリポジトリに分かれている、ということを理解するのがなかなか難しかったです。また、SVNより気軽にブランチを切れたり、プルリクエストでソースレビューも出来たりでSVNより開発効率が上がりそう!な気がしました。Gitをもっと使いこなせるようになりたいなと思ってます。