前提として
- SourcetreeとGithubを連携していしています
- 久しぶりにpullしようとしたら拒否されました
- コマンドラインからならpullできる
おそらくSourcetreeの設定がおかしい。
ちょっと調べてもすぐに解決できなかったので
その時解決した方法を書き残しておきます。
結論から言うと
解決した方法1
Sourcetreeをインストールし直してSSHキーを生成してGithubのSSH keysに登録することで解決しました。
解決した方法2
vim ~/.ssh/config
でconfigを開いて
# --- Sourcetree Generated ---
Host github.com
で
Hosがgithub.comになっていなかった
Sourcetreeで表示されたエラー
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Permission denied (publickey).
fatal: Could not read from remote repository.
Sourcetree
環境設定 >
アカウント >
編集 >
キーボードのoptionキー押す
「クリップボードにコピー」が「鍵を生成しました。」
そのボタンをクリック
パスフレーズを入力
下にも確認で入力
鍵が生成される
「クリップボードにコピー」ボタンをクリック
github
右上にある自分のアイコンクリック >
Settings >
左サイドのメニューのPersonal settingsのSSH and GPG keys >
右上のNew SSH keyをクリック >
Title入力
key欄にクリップボードにコピーした鍵をペースト
Add SSH keyボタンクリック
参考
こちらの記事がとても参考になりました
https://ekulabo.com/github-with-sourcetree