はじめに
マージ済みリモートブランチを一括削除しようとした時に権限エラーで実行できなったので
対処内容を備忘録としてまとめました。
結局のところリモートリポジトリへのアクセス権限がないので鍵を登録すればOK。
環境
Windows 10
SourceTree Version 3.1.3
SourceTree上のターミナルから実行します。
エラー内容
リモートブランチ一括削除を実行
$ git branch -r --merged master | grep -v -e master -e develop | sed -e 's% *origin/%%' | xargs -I% git push --delete origin %
上記コマンドを実行するとエラーが発生
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
解消手順
1. 鍵を作成
3つの質問はそのままEnterでも大丈夫です
-C オプションはなくても大丈夫です
# 鍵を作成する。 (メールアドレスはgitアカウントのメールアドレス)
$ ssh-keygen -t rsa -C xxx@xxx.com
Enter file in which to save the key (/c/Users/(ユーザー名)/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
# id_rsa.pubを開いて公開鍵をコピー
$ less ~/.ssh/id_rsa.pub
2. githubに公開鍵を登録する
3. 接続確認
githubに公開鍵を登録すれば設定完了だが一応確認
$ ssh -T git@github.com
Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.
Hi (account名)!...
で返ってきたら正常に接続できているので再度一括削除を実行