Git使ってみた
【今回の記事はわりとメモ用】
今の会社がIT企業であるということで、プログラムの管理ツールというのは普通に使ってますよね?(同職業の方)
うちの会社だと管理ツールはSVNを使っています。
まあ結構色んなIT企業はこのSVNを使っている所が多いんじゃないかってぐらいプログラムの管理ツールとしては定番ですよね。
最近(今更かも)だとGitという管理ツールはあり、それが大分知名度も上がっていてSVNよりも便利だということを聞いてみて、以前個人用で試しに入れてみたことがありました。
その時は不便というか色々な機能も多いしSVNと同じ単語は多いくせに内容は違ったりと覚えるのが面倒くさいという理由で放置していましたw
で、最近またGitを利用し始めて、色々試している中で少しずつGitの良さが分かってきましたね。
正直まだまだ数日程度、Gitの機能の数割程度しか試したことはないけど、使ってみてSVNと比較して感じたことを以下にまとめてみようと思います。
・リポジトリがローカルとサーバーの2つあり、使い分けれる
とりあえず分からない人向けに簡単に言うのはリポジトリというのは、情報が記録されるデータみたいなものみたいな?
で、このリポジトリにプログラムをコミット(保存)しておくことで、保存した際のプログラムを複数の人が共有出来たり、過去の保存プログラムを見たりすることが出来るって意味合いで。
つまりは複数人でプロジェクトを進めた際、データの共有方法はこのサーバー側にしかないってことになります。
逆にGitの場合、このリポジトリはローカルにも保存出来ます。
ローカルというのは自分のPC。
この部分で便利だと思ったのはローカルとサーバーでの使い分け。
ローカルとサーバーでコミットするタイミングがいいと思いました。
ローカルにコミットするのはまだ開発中のタイミング。例えばある機能を作る際、幾つかの段階を踏んで機能を完成するといった際に、自分は段階を踏む際こまめにプログラムをバックアップ取っておきます。こうすることで、次の段階でミスして戻そうと思った際に復元出来るように。
そういうのをローカルでコミットすることで、復元することが出来ます。
そしてサーバーにコミットする際は段階を踏んでいって機能が完成したもの。つまりは他人に見せれる状態になった時です。
ローカルにコミットはあくまで個人レベルとして、サーバーにコミットは他人と共有することが出来る状態に出来た時。
こんな使い分けが出来るというのはGitの強みかなと感じました。
・ブランチの切り分けが楽らしい?
ブランチというのは履歴の流れを分岐するでいいのかな?
AからBへ行く流れとCへ行く流れがあり、その流れの履歴を管理していくイメージ?
木の枝とかイメージした方が分かりやすいかもね。
正直ブランチというのはSVN触ってきて今まで余り関わりが無かったもので、Gitとの違いがよく分からないですw
ただSVNだとブランチというのはただのディレクトリにすぎないみたいで、分岐した際はただデータをコピーしてそのコピーしたデータを弄るみたいなイメージらしいです。
Gitだとそういう意味合いではまったくないらしいですね。
SVNだとブランチした際にBとCのデータがフォルダ作成されるけど、Gitの場合、BとCというのは切り替えが出来るみたいなものらしいです。
そこら辺は実際に触ってみた方が分かりやすいのかもしれませんね?
このブランチに関してはSVNと比較したことがないから分からないですけど、自分が個人間でやっているやり方だと、バージョン違いに対応出来るようにブランチで分けていますね。
例えば最新バージョンのOSとかで対応出来るように作っていますが、場合によっては古いOSとかの仕事だってあります。
その際ブランチで古いOS用に修正したバージョンを分けるようにする。
今やっているブランチの切り分けはこんな感じですね。
正直ブランチの機能に関しては今のうちの会社だと実用性はないんですけどw
今のところあまりブランチに関してはあまり恩恵は受けていませんね。
とりあえずGitを使ってみて感じたことの箇条書きでした。
実際に使ってみての使用感とか誰かに言わないと行けない場面でのメモ書きとしても今回記事として書かせていただきましたw