Subversion→Git、そして伝説へ…

タイトルは冗談です(笑)。
前回の続きです。

Subversionを使ってる人がGitへ移行するための一歩となればと、こちらに手順を書きます。
前提として、当たり前ですがGitが導入されているものとします。
GitではSVNになかったフローや概念が多いので最初は戸惑うかもしれませんが、
慣れればどのコマンド(操作)をよく使うか、基本的な操作は何かなどはわかるようになってきます。
※私もチーム開発での利用(操作)はまだまだ慣れません…。

WindowsであろうがMacであろうが、通常の手順でインストールすれば環境変数にパスが設定されているはずです。
以下コマンドを流せば確認できます。

ここでエラーになるようなら、環境変数PATHにGitのインストールディレクトリを設定しましょう。

それでは移行作業に入ります。
まずはGit用ディレクトリを作成します。

ベアリポジトリ(基準となるリポジトリ)として上記ディレクトリを初期化します。

Subversionの対象リポジトリ用ディレクトリを作成してそこへ移動します。

Gitコマンドを利用し、Subversionリポジトリから上記ディレクトリへチェックアウトを行います。

Gitのリポジトリとして登録します。

簡単に言うと、以下のようなことを行っています。

  1. Gitのリポジトリに登録したい場所を決める
  2. Subversionから対象リポジトリを取得
  3. それをGitへpush

これで履歴をすべて保持したまま登録ができます。
次回もGitについて少し書こうかなと思います。

そうだ!ホスティングサービスを使おう

翔泳社のアンケートに回答したところ、SEShop(翔泳社の通販サイト)の20%OFFクーポンがもらえました。
一覧を見ていると最近の本はあまり無さそうな感じでしたが、せっかくなので開発理論とか今後も使える技術の超応用みたいな本を購入しようかなと思っています。

さて、今回も開発者向けの内容です。
アドレスフリーな昨今、法人・個人問わず様々なホスティングサービスが利用されていますね。

※ホスティングサービス
簡単に言うと、ウェブサービスやサーバのスペースをインターネットを通じて利用者に貸し出すようなものです。
レンタルサーバーなどがイメージしやすいかもしれません。

チーム開発でGitやSubversionなどのソース管理を利用しているプロジェクトは多い(というか、今はバージョン管理を利用していないところはさすがにないのでは…)、と思いますが、もちろんソース管理のホスティングサービスもあります。

有名どころはGithubでしょうね。
ただ、Githubは非公開リポジトリを作成するにはお金がかかります。

  • 社内向けだから特定のユーザしか許可したくない
  • 個人で開発するときにバージョン管理や他サービスとの連携をしたいだけなのに…
  • 日本語は!?日本語はどこだ!?

上記でお悩みの皆さんに、今回オススメしたいのがBitbucketです。

Githubと同じように、リポジトリを登録でき、SSH認証やPull Requestなどにも対応しています。
Bitbucketはユーザ数に応じて課金される仕組みとなっており、無料の範囲だと5ユーザまで作成できます。
そしてなんと、非公開リポジトリは無制限に作成できます。

サービス利用までは一部英語ですが、登録方法はいたって簡単です。
上記サービス名からリンクを開き、トップページの「Get started for free」をクリック、その後はメールアドレス・パスワードを登録すれば完了です。

※Googleアカウントがあればそれでもログインはできますが、リポジトリ連携する際に結局Atlassianのアカウントが必要になります。
SourceTreeなどのクライアントソフトを使うことを想定しているなら、アカウントを作成しておいて損はないでしょう。

SSH認証を行う際には、ローカルで公開鍵・秘密鍵を生成し、公開鍵の内容をアカウントに紐づけるだけです(このあたりは検索すればいくらでも出てきます。いい時代になりましたね)。
WebhookでRedmineなどのプロジェクト管理ツールのAPIを叩くこともできます(現に私はこれを活用しています)。

ただ、対応しているバージョン管理システムはGitとMercurialです。
「うちはまだSubversionを使っていて…」という方のため、次回は私がSubversion→Gitへ移行した際の流れを書きます。