LoginSignup
7
8

More than 5 years have passed since last update.

herokuにあるリポジトリをcloneしたときに失敗するときの緊急回避方法メモ

Posted at

 なぜ緊急回避かというと原因わかってないのでした...orz
herokuにアカウントを複数持っていて、heroku-accountsプラグインでアカウント管理をしている時の話です。その時に、例えばコラボレータとして招待されたappをcloneしようとして、

% git clone git@heroku.com:xxx.git

をしたら、

Cloning into 'xxx'...

 !  Your account hogefuga@gmail.com does not have access to xxx
 !
 !  SSH Key Fingerprint: xxxxxx

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

と怒られてしまいました。

% heroku accounts:default hogehuga

もしていて、そのアカウント(この例だと hogehuga )でブラウザからログイン→appが見れることを確認し、かつsshの設定も正しいことを確認した上で、なお上のエラーが出ることがあります。(他の人はできたのでどうも何かがおかしいらしいのですが確認できず。。)つまり、使いたいアカウントではない別のアカウントでcloneしようとして怒られてるパターンです。

このエラーが出て積んでいたところを会社の先輩に教えていただいたm(_ _)mのでそのメモです。後日別の方法も見つけたのでその後に後述します。

1. 空ディレクトリを作成

% mkdir xxx
% cd xxx

2. git管理下にしてアカウント設定


git init
% git account:set hogefuga

3. remoteにherokuにあるリポジトリのURLを追加

% git remote add heroku git@heroku.com:xxx.git

4. remote update

% git remote update

もしくは

% git fetch heroku

つまり、適当なgit管理下ディレクトリを作ってそれのリモートにherokuリポジトリを設定してあげればいいようです。git管理下ならheroku accountによるアカウント切り替えがそのディレクトリ内の設定になる( ./.git/config に書かれる)ので、git account:set コマンドで指定した通りのアカウントが使える、というわけです。

別案

リポジトリURLの com のところをアカウント名にしてcloneしてもいけるようです。(実際にherokuにpushしているリポジトリの .git/config を参考)

% git clone git@heroku.hogefuga:xxx.git

なぜcloneできないのか原因がわからないのがもやんとしますが、困るときは困りそうなので備忘録として。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8