ラベル Bitbucket の投稿を表示しています。 すべての投稿を表示
ラベル Bitbucket の投稿を表示しています。 すべての投稿を表示

2012年1月30日月曜日

bitbucket+Mercurial記事まとめ

コードホスティングサービスとバージョン管理システムを選ぶ

bitbucket+Mercurial 最初の一歩(1)
bitbucket+Mercurial 最初の一歩(2)

bitbucket+Mercurial 最初の一歩(2)

さて、ローカルリポジトリ(自分の作業リポジトリ)側。

TortoiseHgのインストール
オフィシャルサイトにいって、インストールファイルをダウンロード
TortoiseHg

今回インストールしたのは、TortoiseHg 2.2.2 for Windows with Mercurial 2.0.2
ダウンロードしたmsiファイルをダブルクリックしてインストール。特に迷わなかった。

環境変数"Path"にTortoiseHgインストールフォルダが自動で追記されるのだが、このフォルダにhg.exeがいるので、hgコマンドもコマンドプロンプトから実行することができるようになる。

Mercurialの使い方がコンパクトにまとまった非常にわかりやすいカンニングペーパー(Cheat Sheet)があるみたいなので参考にしよう。
Mercurial Cheat Sheet 日本語版
QuickStartの左上の図を見ると使用、運用イメージが湧いてくるかな。

TortoiseHgちょっと初期設定
任意のどれでもいいフォルダ上で右クリック→TortoiseHg→Global Settings
「TortoiseHg Setting」画面で左側の一覧から「コミット」を選択し、
"ユーザ名"に自分ということが分かるちゃんとしたユーザ名を設定しましょう。
未設定だとコミット時の名前がWindowsのユーザ名@マシン名になっちゃいます。
まぁ、別になっちゃっていい人はいいけど、この後bitbucketで見た時にもこの名前になっています。
チーム開発とかしてる場合は、他の人に「誰?」とか思われないように。

bitbucket上のリポジトリのクローン
前回作成したbitbucket上のリポジトリのクローン(ローカル端末へのコピー)を行う。
リポジトリ用のフォルダを適当な場所に作成。ここでは"sandbox"というフォルダ名にした。
そのsandboxフォルダ上で
右クリック→TortoiseHg→Clone
とすると、クローンのダイアログが表示される。ここに
  • ソース:bitbucket上のリポジトリのURI(https://bitbucket.org/(ユーザ名)/(リポジトリ名) )
  • ターゲット:このフォルダのパス
  • オプション:特になし
を指定して、「クローン」ボタンをクリック。
これでこのsandboxフォルダがbitbucketのリポジトリと同期されることになる。
"sandbox"フォルダ内に".hg"フォルダが作成され、フォルダアイコンにグリーンのチェックマークが付いてる。

pullしてみる
Mercurialのコマンドはいろいろなサイトに載っているけど、TortoiseHgの画面からどうやってpullやpushをするのか、最初戸惑うかも。
hgで始まるコマンドと画面操作の対応に少し慣れる必要があると思います。

pullをするには、
sandboxフォルダ上で右クリック→TortoiseHg→Synchronize
でSync画面(同期ツール)を表示。
左上のアイコンであっちからこっちへ矢印が向かってきているやつがpull。
マウスオーバーすると
"Pull incoming changesets from remote repository"
とバルーンヘルプが出るやつ。
さらに、「プル後の処理」ボタンでupdateするかどうか選べます。

まずはbitbucketのクイックスタートに習って、pull --updateしてみよう。
・・・bitbucketのリポジトリに何もないから特に何も起きない。正解。

ちなみにMercurialでは、1回の操作で複数ファイルを変更する際、この変更の集合をひとまとめで管理します。
このまとまりをチェンジセット(Change sets)と呼んでいます。

ローカルリポジトリへのコミット
試しに、バージョン管理するファイルを作って、コミットしてみる。
sandboxフォルダに適当なテキストファイルと作って、
sandboxフォルダ上で右クリック→TortoiseHg→Add Files...
先ほど適当に作ったファイルを選択(チェックボックスにチェック)して「追加」ボタンをクリック
これでファイルが同期対象になった。
ファイルのアイコンに青い+がついている。これでよさそう。
続いてコミット。
sandboxフォルダ上で右クリック→Hg Commit...
コミット対象ファイルを選択、右上の入力エリアにコミットメッセージを入力して、「コミット」ボタンを押す。
(ここでチェンジセットが作成される?)

これでローカルリポジトリにファイルが追加され、コミットされた。

アイコンにグリーンのチェックがついたはず。


pushしてみる(リモートリポジトリへの変更の反映)
pushもpush同じくSync画面を開く。
左上のこっちからあっちへ矢印が向かっているボタンをクリック。
("Push outcoming changesets to remote repository"と出るやつ。)

pushをする場合は、リモートリポジトリ(ここではbitbucket上のリポジトリ)のユーザIDとパスワードを求められる。それぞれ入力して「OK」

正常に処理が終わった場合はログ表示エリアに
command completed successfully...
と表示されているはず。
これでbitbucket側のリポジトリへ変更が反映された。

ブラウザからbitbucketにログインして見てみよう。
リポジトリのOverviewをみると、最近のコミットの一覧(Recent commits)で自分の操作が表示されているはず。

とりあえずここまで。
必要に応じて細かい操作も書きたいと思います。

[参考サイト]
Windows+TortoiseHgで始めるMercurial(hgコマンドをTortoiseHgで) - 記憶は削除の方向で
kuy / thg-ja / wiki / Home — Bitbucket

TortoiseHG からの利用

2012年1月22日日曜日

bitbucket+Mercurial 最初の一歩(1)

bitbucketはなにも見なくてもリポジトリの作成までできました。
画面がシンプルでわかりやすく、お手軽です。

bitbucketのサインアップ
bitbucketのサイトで、どでかく"SIGN UP NOW, FREE"と書いてあるボタンをクリックするとサインアップ画面が表示される。
OpenIDに対応しているみたい。画面下のほうのSign up using OpenIDのリンクをクリック。
選べるのは、Google、Yahoo(USAのみ?)、Aol、flickr、Wordpressなど。
私はGoogleのアカウントでサインアップしました。
すぐにComfirmメールが送られてくるので、本文に記載されているアドレスにアクセス。
これでサインアップ完了。
スタンダードサインアップの場合に必要なのは、Username、Email address、パスワード。"Sign up"を押せばたぶんComfirmメールが届くんだと思う。

新規リポジトリの作成
Repositories→create repositories または + アイコンをクリック

リポジトリ作成画面にて、

  • リポジトリの名前を決めてNameに入力
  • Privateのチェックボックスでプライベートリポジトリにするかどうかを選択
  • Pepositroy type欄、GitかMercurialのどちらを使用するか選択(ここはMercurialで)
  • Project management欄、Issue trackig、Wikiを使用する場合はチェック
  • Language欄、プログラミング言語を選択(これはどういう意味か未調査)
  • 必要に応じてDescriptionにリポジトリの説明文を記載
  • Websiteがある場合はアドレスを記載

(ここらへんは後でAdminタブで変更できるみたい)

必要事項を設定し、「Create repository」ボタンをクリック
これでリポジトリが作成できた。

続いて、作成したリポジトリの参照画面?を見てみる。
どうやらHTTPSとSSHで接続可能らしい。

クイックスタート(Quick start)の記述内容
$ hg clone https://bitbucket.org/(ユーザ名)/(リポジトリ名)
...
$ hg pull --update # to pull changes and update
$ hg push # to push changes to this repo
SSHの場合、リポジトリのクローンは、
hg clone ssh://hg@bitbucket.org/(ユーザ名)/(リポジトリ名)
となる模様。

チーム開発の場合、参加メンバに招待状(invitation)を送ることができるみたい。
Overviewタブか、Followersタブに"invitation"、"invite"というリンクがあるのでクリック
メンバのメールアドレスを記載し、アクセス権限をWriteかAdminかを選択して"Send invitation"をクリック。

2012/1/25追記
招待メールが相手にすぐに届きます。
メールに記載されている招待アドレスにアクセスすると、
bitbucketの「既にアカウントを持っているor新たにサインアップする」画面が表示されます。
既存アカウントでログインするか、新しいユーザを作成してログイン。
共有しようとしているリポジトリが見えているはず。
見失わないようにfollow+(ハートマークのアイコン)をクリックするとよいかも。


次回はクライアント側。

2012年1月16日月曜日

コードホスティングサービスとバージョン管理システムを選ぶ

これからプライベートなチームでアプリ開発を行うのですが、メンバが少ないこともあり、ソースコード管理にあまり労力をかけたくないので、コードホスティングサービスの利用を検討しました。

私の勤めている旧態依然とした某SI会社では、バージョン管理システムはSubversionを使え!ということになっていますが、最近では分散型のバージョン管理システムが普及しつつあるようです。
チームメンバとのやりとりは基本的にインターネットを介することになりますので、分散型であればネット障害が起きてもオフラインで作業できますし、バックアップの意味でもよいかなと考えました。

2012年1月現在、分散バージョン管理システムといえば、Git、Mercurial、Bazzarとなっています。

今回求めているのは、

  1. 使い方の習得に極力時間をかけたくない
  2. Windowsで扱いやすい(たぶんメンバはみんなwinなので)
  3. Eclipseで使えるといい
コードホスティングサービスについては、
  1. できるだけ安価に
  2. 他人が参照できない非公開リポジトリを作れるとよい。
といったところで、いろいろ調べてみると、
Bitbucket + Mercurial
がよいかな、と思いました。
(Launchpad+Bazzarも気になりますが・・・)

Mercurialは日本語の解説書もありますし、Google CodeがMercurialを採用した理由に学習曲線を挙げているようですので、これを鵜呑みにしたいと思います。

また、Bitbucketのサービスについては、

  • 5ユーザまで無料
  • 容量無制限
  • プライベートリポジトリが作れる("UNLIMITED PRIVATE REPOS"と記載されています)
  • Wiki、Issuuトラッカーあり
  • バージョン管理システムにMercurialとGitが選べる

と、いろいろよさそうです。
とりあえずこれをメンバに勧めてみたいと思います。

(2012/3/3追記)assemblaも"private repository with unlimited users"とあるのでいいかも。SubversionかGitです。

[参考サイト]
Bitbucket
渋日記: Bitbucket買収?そもそもそれ何?という人のためのBitbucket紹介
BitBucket と TortoiseHg で快適分散型バージョン管理生活 - さよならストレス
Mercurial や Git が使える無料のリポジトリサービスを集めてみた - kなんとかの日記
Mercurial + Bitbucket = 最高! - present

分散バージョン管理Git/Mercurial/Bazaar徹底比較 (1/5) - @IT