there is a time for everything

現役SIerが技術や育児情報を紹介するブログです。

書評:Gitが、おもしろいほどわかる基本の使い方33

Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉

Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉

はじめに

Gitももちろんわかるようになりますが、特定のツール、BitBucketとSourceTreeの使い方を軸としたGitがわかる本です。

上記2つのツールを利用するなら、挿絵も多くて目に飛び込みやすく、良い本だと思います。

リポジトリホスティングサービスがわかる、という構成ではないので気を付けてください。

fast-forward

SVNやCVS、VSS等の中央集権型のソース管理ツールを主に利用している方ですと、fast-forwardという言葉は馴染みがないと思います。ざっくり言うと、「最新のソースと同期がとれている」ないし、「最新のソースをローカルに反映できる」がSVN等と対比できる状態です。

このあたりは、挿絵も交えてわかりやすく説明されています。新しくGitを利用される方は理解しておかないと、ちょっと躓いてしまうかもしれません。

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

こちらも、中央集権型のソース管理ツールとは大きく異なる部分です。

リポジトリは大きく2種類、「マスター」と「自分専用」に分けられます。
※PJによって運用が異なることもあると思います。

で、「マスター」から「自分専用」リポジトリをクローンすることで分散型の構成が実現されています。

ブランチ、マージ

Gitでは、「ブランチの切替」「ブランチのマージ」ということが頻繁に利用されます。

前者はその文言の通りなのですが、
     ブランチの切替=チェックアウト
です。コミットを起点にするので、SVNに慣れている方はちょっとびっくりするかも。
     コミット≠マスターへ反映
なので安心です。前項の、「自分専用」のクローンリポジトリへのコミットだからです。

この、"コミット"のハードルが下がることで、ソースをローカル管理から手離れしやすくなるのはいいことです。

ある程度のPJになると人の入れ替えも当然ありますから、引き継ごうと思ったら端末ごと、なんてこともよくありますし。
そういう場合、大体失敗するんですよね。

マージについては、言葉通りなので詳細は割愛しますが、どんな単位でブランチを作成するのか、開発が終わったらブランチは削除するのかとか、なんだかんだで事前に決めないといけない運用は多々あります。

実際にGitを利用してみて

Gitは分散型のリポジトリホスティングサービスで、チーム開発により向いていると言われています。

直近で50名程度の開発PJでGitLabを利用しましたが、最終的には人間のコミュニケーションが肝心だな、という感想です。

Gitがダメ、というわけではなくて、決して魔法のツールではないということです。

GitとSVN

私はここ2年くらいまでGitを利用したことがなかったSVNマンだったのですが、いくつかのPJでの実務利用を経た上で、復習のためにこの本を読みました。

なので目的とはちょっと合わない本だったのですが、まずGit慣れしたいSVNマンにはなかなかおすすめの本です。