まずアカウントを作る。
Bitbucket のチュートリアルで tutorial リポジトリをローカルにクローンしてみた。このときはまだ ssh の設定をしていないので https での接続となり、パスワードの入力が必要だった。
% git clone https://USERNAME@bitbucket.org/USERNAME/tutorial.git
次に ssh key を登録する。 pbcopy でクリップボードにコピーして Bitbucket の所定のフォームに貼り付ける。
% cd ~/.ssh % cat id_rsa.pub | pbcopy
~/.ssh/config を編集する。
必要最小限だけ書くとしたらこんな感じだろうか。
Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/id_rsa User git
ssh の接続テストには -T をつければよいとどこかに書いてあった。リファレンスを読むと -T は「端末を割り当てない」となっている。それが接続してみるだけ、ということなのかな。
% ssh -T git@bitbucket.org
ssh で初回接続のときに聞かれるお約束の質問に yes と答えておく。
The authenticity of host 'bitbucket.org (131.103.20.168)' can't be established. RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40. Are you sure you want to continue connecting (yes/no)?
tutorial を clone したローカルのディレクトリで新規ファイルを作って commit してみる。
% touch newfile.rst
% git add . % git commit -m "first local commmit" % git push -u origin master
最後の git push でエラーになった。
最初 https で clone してきていたので、.git/config を編集する必要がある。
[remote "origin"] url = https://USERNAME@bitbucket.org/USERNAME/tutorial.git fetch = +refs/heads/*:refs/remotes/origin/*
この部分を以下のように変更する。
bitbucket.org の後が / から : に変わることに注意が必要。
[remote "origin"] url = git@bitbucket.org:USERNAME/tutorial.git fetch = +refs/heads/*:refs/remotes/origin/*
気を取り直して再度 git push する。
% git push -u origin master
ちなみに -u をつけることで次回以降は push 先を指定しなくてもよくなるらしい。
% git push
あと git コマンドのマニュアルを読むにはハイフンでつなげばよいとのこと。
% man git-push
ふー