いつもどおりにSourcetreeでpushしようと思ったらエラーで止まるようになってしまった。
よく読むと、SSH接続じゃないとダメになったとのこと。
同じことで困ってる方がいたらご参考にどうぞ。
ただ私はエンジニアではなく、仕事でGitが必要なデザイナーなので、
何か間違っていることがあっても見逃してください。
Bitbacket公式の説明ページもあるんだけど、
https://support.atlassian.com/ja/bitbucket-cloud/docs/set-up-an-ssh-key/
中途半端に日本語で見にくいので、
https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/
この英語のほうが見やすかった。
~以下の【】の中は自分の環境に合わせて変えてください。~
なんでこんなことに?
BitbacketがSSH接続じゃないといけないように2022/03に変わったらしい。
まずはSourcetreeで設定を確認する。
メニューの
ツール > オプション > 認証タブ > 編集ボタン
ホスティングサービス:Bitabacket
ホストURL:https://bitbacket.org/
優先するプロトコル:SSH
認証:OAuth
ユーザー名:【ユーザー名】
OAuthトークンを読み込み(※よくわかってないけどこっちにしてみた)
☑認証に成功
となっているので問題なさそう。
リモートの設定
メニューの リポジトリ > リポジトリ設定
パスを選択して編集ボタンを押す
URL/パス: git@bitbucket.org:【ユーザー名】/【リポジトリ名】.git
の形式にする(https://~だったら変更する!)
ここがhttps接続のままだとうまくいかない
Gitbashをインストールする
コマンドプロンプトだとだめな場合があるらしいからインストールする
(最近Macが壊れてWindowsを使ってるからインストールしてなかった)
公式サイトからDLしてくる
Gitをインストールすると一緒についてきてるから、windowsのスタートメニューをクリックしたところで入力して検索してみる
SSH鍵を作る
(以下の作業はWindows Powr Shellとかコマンドプロンプトではできない)
Gitbash開いて、場所はホームそのままで
$ ssh-keygen
すると
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/【ユーザー名】/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/【ユーザー名】/.ssh/id_rsa
Your public key has been saved in /c/Users/【ユーザー名】/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:ほにゃほにゃほにゃほにゃほにゃほにゃほにゃほにゃほにゃ
The key's randomart image is:
+---[RSA 3072]----+
| . E.o. |
|o. . o ++ |
|+ + + + = |
|.+ = X .o o |
|+.+ * = So |
|o++* o . |
|==o.o |
|O oo |
|oBoo |
+----[SHA256]-----+
ってことで、
【ユーザーフォルダ】/.ssh
ってフォルダができている
(windowsのユーザー名のフォルダの直下にある)
そのままGitbashで下記コマンド実行
$ eval $(ssh-agent)
すると
Agent pid 267
とか出てくる。よくわからないけど。
次に、パスを追加?してあげる
$ ssh-add ~/.ssh/id_rsa
すると、
Identity added: /c/Users/【ユーザー名】/.ssh/id_rsa (【ユーザー名】@X【ユーザー名】R)
とかなって成功!
Bitbacketにキーを登録する
画面左下の自分のアイコンのところクリック
Personal Settings > セキュリティ >SSH鍵 を開く
鍵を追加ボタンを押す
Labelは好きな言葉を入れる
Keyはさきほど作成した
【ユーザーフォルダ】/.ssh
フォルダに入っている
id_rsa.pubをメモ帳とかで開いて全部選択→コピペする
鍵を追加ボタンを押す
以上で完了
SourceTreeでsshキーを変換する
ツール > SSHキーの作成/インポート
Loadボタンから先程作成したid_rsa.ppkを開く
Save private keyで拡張子を.ppkにしたものを~/.ssh/配下に保存する
(元々あるファイルはid_rsaで拡張子がない)
Pageantにsshキーを追加する
アイコン右クリック>Add Key
前の項目で作成したid_rsa.ppkを登録する
(拡張子ない方は、ファイル形式がwindowsにあってないのか、無効な形式です、とエラーがでてしまって登録ができない)
これでやっとpushできた!
Gitbachにもどり、
$ git push origin master
とやったら久しぶりにpushできました!!!
はぁ~すごい時間かかった。