BitbucketからローカルのMacにgitクローンする方法


本文は以下のような方を想定しています。

  • 開発と協力をしてプロジェクトを進めているフロントエンドエンジニア
  • Gitは軽く知っているが不慣れである
  • Bitbucketでgit管理、ほぼ初めて使う
  • VS Codeで開発している
  • 環境はMacOSX系
  • ターミナルを多少触ったことがある
  • Bitbucketの環境は用意されているがローカルへクローンして開発を進めていきたい

01. ssh鍵の準備・設定

Bitbucketからクローンするためには管理画面からsshの公開鍵を登録する必要があります。そのため、まずローカル環境でssh鍵の作成をする必要があります。
(すでにBitbucketへのssh鍵の登録ができていれば2まで飛ばしてOKです。)

01-01. 秘密鍵・公開鍵の発行

ターミナルでコマンド操作をし、ssh鍵を作成します。

ターミナルを起動、homeにいる状態で、.sshフォルダに移動。

ターミナル
cd .ssh

ssh-keygenで秘密鍵・公開鍵を作成。

ターミナル
ssh-keygen

lsで秘密鍵が発行されていること、パーミッションが問題ないことを確認。

ターミナル
ls -la
-rw-------   1 username  staff  1921 11 17 10:30 id_rsa
-rw-r--r--   1 username  staff   426 11 17 10:30 id_rsa.pub

また、すでに「id_rsa」があり、名前を変えて鍵を発行したい場合は以下のように名前を指定して作成。※bitbucketkeyは任意の名前

ターミナル
ssh-keygen -t rsa -f bitbucketkey

01-02. .ssh/configに登録

作成した公開鍵の中身を確認し、コピーします。

catで公開鍵を開く。

ターミナル
cat id_rsa.pub
ssh-rsa AAAAFFEKPAgeagaAGJAKBBADBANBADGAKFAJLFADSJGA~~~中略~~~EAGEDBAKGKEAFAMVAMGEWKADFKADVADBKMAWOVAGAELVAKWBAMBEWFEAKJAWVAKWKGAEWNFAKEFAKAEGVAGNADAJGAENAJFAJSAGNG==

ssh-rsaから始まる長い文字列を全てコピーします。

01-03. Bitbucketへ公開鍵を登録

Bitbucketにアクセスし、「アイコン」→「view profile」→「設定」→「SSH 鍵」→「鍵を追加」と開きます。

ターミナルでコピーした公開鍵の文字列を貼り付けます。label部分はわかりやすい名前であればなんでも構いません。

貼り付けたら「鍵を追加」ボタンを押して登録完了です。

01-04. 疎通確認

Bitbucketの設定が完了したら、次は疎通確認です。ターミナルに戻り、sshのコマンドでBitbucketにアクセスできるか確認します。

ターミナル

「logged in as "Bitbucketユーザー名"」と表示されたら成功

ex01. 名前を変えた、または複数の秘密鍵がある場合の注意点

名前を変えて登録すると、うまくアクセスできない場合があります。
その場合は以下の設定をしてください。

ex01-01. sshコンフィグの登録

sshコンフィグの設定をします。
.sshフォルダのコンフィグファイルを開きます。

ターミナル
vim ~/.ssh/config

configを開いたら内容に以下を追記し保存します。

config
Host bitbucket
    HostName bitbucket.org
    IdentityFile ~/.ssh/bitbucketkey
    User git

ex01-02. ssh-addの設定

合わせてssh-addで、秘密鍵を登録します。

ターミナル
ssh-add ~/.ssh/bitbucketkey

これらの設定ができたら、再度疎通確認を試してください。

ex01-03. ssh-addの永続化

ssh-addに登録した内容は、macを再起動するとリセットされます。
毎回ssh-addをするのが面倒な人は以下の設定を行います。

ex01-01のconfigに以下を追記
vim:config
Host bitbucket
HostName bitbucket.org
IdentityFile ~/.ssh/bitbucketkey
User git
UseKeychain yes
AddKeysToAgent yes

ターミナル
ssh-add -K ~/.ssh/bitbucketkey

参考元:
macOS で再起動しても ssh agent に秘密鍵を保持させ続ける二つの方法

02. ローカルにクローンする

bitbucketのプロジェクトをローカルにクローンします。

02-01. クローン用フォルダの作成

bitbucketのデータを置くために任意のフォルダを作成してください。

ターミナルで作成したフォルダに移動。

ターミナル
 cd ~/project/bitbucket

02-02. プロジェクトのクローン元アドレスをコピー

bitbucketのプロジェクト詳細画面より「クローンを作成」→「SSHが選択されているのを確認」→「コピーアイコンをクリック」の順に操作します。

これでクローンに必要なアドレスがコピーできました。

02-03. クローンを実行

ターミナルに戻り、先ほどコピーした内容を貼り付け、Enterでクローンを実行します。

ターミナル
 git clone [email protected]:dev/hogeprj.git

データが落ちてくれば、成功です!

ex02. ブランチする

ローカルにクローンできたらブランチしときましょう。

ターミナル
git branch --set-upstream-to=origin/develop develop
Branch 'develop' set up to track remote branch 'develop' from 'origin'.