前置き
新しい環境でSourceTreeを使うとき、毎回パスワードを聞かれるのを止めるのどうやるんだっけ・・・となるので、それを解決するためのまとめになります。
やりたいこと
SourceTreeでクローンやフェッチをすると毎回パスワードを聞かれるのを止めたい。
前提条件
- SourceTreeでGitHubを使う
- GitHubの2段階認証を有効にしている
- GitHubが推奨しているHttpsを使いたい
- GitHubのアクセストークンは発行済み状態
環境
- macOS Mojave 10.14.4
- SourceTree 3.2.1
手順
基本的な手順はGitHub公式に載っています。
https://help.github.com/en/articles/caching-your-github-password-in-git
ざっくり言えば、キーチェーンにパスワードを保存する設定に変えれば良いとのことです。
「Xcode Command Line Tools」のインストール
「Xcode Command Line Tools」が入ってない場合はインストールします。
ダウンロードは https://developer.apple.com/download/more/ からできます。AppleIDが必要です。
$ git credential-osxkeychain
のコマンドが通ることを確認します。
キーチェーンに保存する設定
以下のコマンドを叩きます。成功しても特に何か表示されることはありません。
git config --global credential.helper osxkeychain
SourceTreeでクローンする
アカウントの環境設定
SourceTreeの環境設定を開き、アカウントタブを選択します。
以下の設定内容でアカウントを追加します。
ホスト:GitHub
認証タイプ:Basic
ユーザー名:適当でもいいみたい(?)
パスワード:GitHubのアクセストークンを入力
プロトコル:HTTPS
クローンする
初回クローンするときに、キーチェーンにアクセスするためのログインパスワードを聞かれるので入力します。(パスワード無しなら聞かれないと思います)
これでパスワードがキーチェーンに保存されるので、クローンやフェッチをしてもパスワードは聞かれなくなります。
…それでもまだパスワードを聞かれる場合
キーチェーンやSourceTreeに正しくないパスワードが保存されている場合があるようです。
この場合、正しいパスワードを入力しても変更されないみたいです。
そのため、キーチェーンアクセスから "github" を削除したり、SourceTreeのアカウントを一度削除してから、↑の手順を行えば解決しました。
参考URL
https://stackoverflow.com/questions/38489022/sourcetree-keeps-asking-for-github-password
https://stackoverflow.com/questions/11067818/how-do-you-reset-the-stored-credentials-in-git-credential-osxkeychain