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]を選択。

148_01.png


必要なリポジトリの情報を入力して、「Create Repository」

148_02.png


リポジトリが作成出来ました。
ここのURLがリポジトリのURLになるので、メモしておきます。

148_03.png


リポジトリのURLは、https://bitbucket.org/[ユーザー名]/[リポジトリ名]です。
今回、「symfo」というユーザーで、「danpen」というリポジトリを作成したので、
URLは「https://bitbucket.org/symfo/danpen」となりました。





クライアントでリポジトリのクローンとファイルの追加



まず、hgコマンドを使用するため、~/.hgrcを編集します。
ちなみに、クライアントはUbuntuです。


$ vi ~/.hgrc




最低限の内容は、こんな感じです。


[ui]
username = [ユーザー名] <[Bitbucketに登録しているメールアドレス]>
editor = vim




実際の入力はこんな感じ。


[ui]
username = symfo <symfo@example.com>
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.





できたー。

148_04.png

びびってたんですが、予想以上に簡単です。




更新



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.




変更が反映されました。

148_05.png


いや、食わず嫌いって怖いですね。
こんなにお手軽なら、最初からコマンドで操作すればよかった。


関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ