hgコマンドでBitbucketにプッシュする
今までBitbucketにプッシュするときはGUIツールを使ってました。コマンドでプッシュできたほうがかっこいいので、やり方を調べてみます。
Bitbucketの最初の一歩 - Bitbucket ドキュメンテーション
http://confluence.atlassian.jp/pages/viewpage.action?pageId=25133065
Mercurial + Bitbucket = 最高!
http://tnakamura.hatenablog.com/entry/20110303/mercurial_bitbucket
ここを参考にさせて頂きました。
Bitbucketにリポジトリ作成
まずは、ブラウザでBitbucketにアクセスして、リポジトリを作成します。
ログインした後、[Repositoris] - [Create Repository]を選択。
必要なリポジトリの情報を入力して、「Create Repository」
リポジトリが作成出来ました。
ここのURLがリポジトリのURLになるので、メモしておきます。
リポジトリのURLは、https://bitbucket.org/[ユーザー名]/[リポジトリ名]です。
今回、「symfo」というユーザーで、「danpen」というリポジトリを作成したので、
URLは「https://bitbucket.org/symfo/danpen」となりました。
クライアントでリポジトリのクローンとファイルの追加
まず、hgコマンドを使用するため、~/.hgrcを編集します。
ちなみに、クライアントはUbuntuです。
$ vi ~/.hgrc
最低限の内容は、こんな感じです。
[ui]
username = [ユーザー名] <[Bitbucketに登録しているメールアドレス]>
editor = vim
実際の入力はこんな感じ。
次に、Bitbucketに作成したリポジトリを一旦Cloneします。
~/bucket/というディレクトリを作成し、そこにCloneしました。
$ mkdir ~/bucket
$ cd ~/bucket
$ hg clone https://bitbucket.org/symfo/danpen
これで、~/bucketにdanpenというディレクトリが作成されました。
中身は空っぽです。
~/bucket/danpenに登録したいソースファイルをコピー。
ローカルのリポジトリに追加します。
追加は
$ hg add [ファイル名]
面倒なので、
$ hg add *
を実行したところ、
$ hg add *
rays/LICENCE を追加登録中
rays/__init__.py を追加登録中
rays/__init__.pyc を追加登録中
rays/compat.py を追加登録中
rays/compat.pyc を追加登録中
statics/bootstrap-responsive.css を追加登録中
statics/bootstrap-responsive.min.css を追加登録中
(略)
templates/all.html を追加登録中
templates/index.html を追加登録中
templates/view.html を追加登録中
うっかり、pycまで追加してしまいました。
ファイルの追加を取り消すにはremoveかな?と思い実行すると、
$ hg remove rays/__init__.pyc
rays/__init__.pyc は削除されません: 追加登録対象ファイルです (取り消しは forget)
やさしい。forgetオプションだそうです。
$ hg forget rays/__init__.pyc
$ hg forget rays/compat.pyc
forgetで、コミット前に管理不要なファイルを除外出来ました。
commitを実行して、ローカルのリポジトリにコミットします。
-mの後はコメントです。
$ hg commit -m "とりあえず動くようになったので 初回コミット"
コミットが終わったら、Bitbucketのリポジトリにプッシュします。
$ hg push
https://bitbucket.org/symfo/danpen への反映中
変更点を探索中
HTTP 認証を要求しました
認証領域: Bitbucket.org HTTP
ユーザ: symfo
パスワード: [パスワードを入力]
遠隔ホスト: adding changesets
遠隔ホスト: adding manifests
遠隔ホスト: adding file changes
遠隔ホスト: added 1 changesets with 54 changes to 54 files
遠隔ホスト: bb/acl: symfo is allowed. accepted payload.
できたー。
びびってたんですが、予想以上に簡単です。
更新
rstの記法、知らなかったんでREADME.rstの表示がおかしいです。
README.rstを編集して、BitBucketのリポジトリを更新してみます。
ファイルの修正が終わったら、またローカルのリポジトリを更新。
$ hg commit -m "Readmeを修正"
再度プッシュを実行。
$ hg push
https://bitbucket.org/symfo/danpen への反映中
変更点を探索中
HTTP 認証を要求しました
認証領域: Bitbucket.org HTTP
ユーザ: symfo
パスワード: [パスワードを入力]
遠隔ホスト: adding changesets
遠隔ホスト: adding manifests
遠隔ホスト: adding file changes
遠隔ホスト: added 1 changesets with 1 changes to 1 files
遠隔ホスト: bb/acl: symfo is allowed. accepted payload.
変更が反映されました。
いや、食わず嫌いって怖いですね。
こんなにお手軽なら、最初からコマンドで操作すればよかった。
コメント