読者です 読者をやめる 読者になる 読者になる

tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

Bitbucket使ってみるメモ③-linux側で新規リポジトリの作成からgitのcommit&pushまでメモ(Bitbucket REST API)

はじめに

bitbucket便利ですよね!

ただ、毎回ブラウザでbitbucketにログインして新規リポジトリを作って、
今度はlinuxでgitコマンド。。。とやっていると面倒なので
新規リポジトリを作るところからコマンドでやってしまおうというメモです。

※追記※

Bitbucketについては3つの関連に分けて書きました。
登録とかBitbucketのwebで新規リポジトリ作るのはこのへんをご参考に。

ながれ

  1. linux側でREST APIリポジトリ新規作成
  2. リポジトリ新規作成からの適当なファイルをcommit&pushしてみる一連

1. linux側でREST APIリポジトリ新規作成

まずはこのあたりを参考にしました

リポジトリ新規作成REST API

参考サイトの2.0のapiだとうまくいかなかったので1.0でやりました。

基本はこんな感じ
curl --request POST --user [ユーザ名]:[パスワード] https://api.bitbucket.org/1.0/repositories/ --data name=[新規リポジトリ名] --data scm=git --data is_private=true
または
curl --request POST --user [ユーザ名] https://api.bitbucket.org/1.0/repositories/ --data name=[新規リポジトリ名] --data scm=git --data is_private=true
※2.0のやり方は時間なかったので特に調べてません  
※パスワードは入れなければ聞かれるので自分的にはそちらのほうが好き  
実際やってみる
# curl --request POST --user hoge https://api.bitbucket.org/1.0/repositories/ --data name=testRepo --data scm=git --data is_private=true
Enter host password for user 'hoge':
  • 確認してみる

上部メニューのBitbucketをクリックしてTOPページに行くと
DashboardtestRepoリポジトリが作成されているのがわかります。
また、右側の最近の活動にも表示されています

f:id:tweeeety:20140818140324p:plain

スクリプト登録してみる

参考サイトにもありますが、毎回長いAPI打つのは大変なのでコマンド化してみます。
自分もzsh使っているので/home/hoge/.zshrcを編集します。
bashの人は.bashrcにどーぞ。

  • コマンド化→コマンド叩いてみる
    $1はコマンドの第一引数を変数として使っています
※ .zshrc編集。crと打ったらcreate repositoryするようにしてみる
# vi /home/hoge/.zshrc
---- vi追記 ----
function cr() {
    curl --request POST --user hoge https://api.bitbucket.org/1.0/repositories/ --data name=$1 --data scm=git --data is_private=true
}
----------------

※ 設定反映
# source /home/hoge/.zshrc

※ コマンド打ってみる
# cr testRepo2
Enter host password for user 'hoge':

f:id:tweeeety:20140818140332p:plain

2. リポジトリ新規作成からの適当なファイルをcommit&pushしてみる一連

これでコマンド側でリポジトリの新規作成もできるようになったので
改めて一連をやってみます

bitbucketにリポジトリ新規作成
# cr testRepo3
Enter host password for user 'hoge':
linuxにローカルリポジトリ作成

リポジトリの新規作成だけではbitbucket上にリポジトリ作っただけなので
linux上にローカルリポジトリの場所やらを作ります

※ ディレクトリ作成&移動
# mkdir -p /home/hoge/bitbucket/testRepo3

# cd /home/hoge/bitbucket/testRepo3

※ お決まりの初期化
# git init
Initialized empty Git repository in /home/hoge/bitbucket/testRepo3/.git/

# git remote add origin git@bitbucket.org:hoge/testRepo3.git
commit&push

commitとpushは前回と同様、
ファイル作ってaddしてcommitしてpushというお決まりの流れです

# echo 'tekitou' > tekitou.txt

# git add tekitou.txt

# git commit -m 'first commit'

# git push -u origin master
Enter passphrase for key '/home/hoge/.ssh/id_rsa_bitbucket':
Counting objects: 3, done.
Writing objects: 100% (3/3), 213 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@bitbucket.org:hoge/testRepo3.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.
確認

webのbitbucket上で確認してみます

  • 上部メニューのBitbucketリンクからTOPに移動
    作成したtestRepo3リポジトリを選択

f:id:tweeeety:20140818143648p:plain

  • 左サイドメニューのソースアイコンクリック

f:id:tweeeety:20140818143655p:plain

  • こんな感じで作成したtekitou.txtが追加されたのが確認できます

f:id:tweeeety:20140818143705p:plain

まとめ

これでlinuxmacコマンドライン上のみでbitbucket使うことができるようになりました!
enjoy!\(^o^)/