3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Sourcetree で毎回パスワードを聞かれるのを回避する Mac

Posted at

QNAP に Gitea 入れて、MacBook Pro で色々テストしているときに Sorcetree で毎回パスワードを聞かれるのを止められなくてめんどくさかったのを止めるまでのメモ。

現象

Sourcetree で push するときに毎回パスワードを聞かれる。

パスワードを聞かれる

回避策

回避策としては2種類。

キャッシュを使う方法とキーチェーンを使う方法。

キャッシュは設定した時間内なら、再度パスワードを入力する必要がなくなるけど、基本的に都度パスワードを聞かれるので macOS を使っているならキーチェーンで対応するのがセオリーかなと。

設定方法

$ git config --global credential.helper <設定値>

設定値に osxkeychain もしくは cache を指定する。

キーチェーンを使う

$ git config --global credential.helper osxkeychain

キーチェーン

設定して最初に push しようとしたタイミングでキーチェーンへのアクセスを聞かれるので、「常に許可」を選択すれば OK。

以降は、キーチェーンに保存された情報を使うので聞かれなくなる。

キャッシュを使う

$ git config --global credential.helper cache

設定後、push の際にパスワードの入力を求められるが、一定時間はパスワードの入力を回避可能。

キャッシュの保持時間はデフォルトで 900秒らしく、保持時間を伸ばす場合には下記のような感じで伸ばす。

$ git config --global credential.helper 'cache --timeout=3600'

が、未確認なのでよく分からん。

設定の確認

$ git config --global credential.helper

例えば、cache を設定している場合には。

$ git config --global credential.helper
cache

のような感じで設定値が戻ってくる。

設定の解除

$ git config --global --unset credential.helper

これで設定が消える。

注意点

なぜか設定の一覧を見ると、何も設定していなくてもosxkeychain が設定されているように見える。

$ git config --list
credential.helper=osxkeychain
・
・
・

実際、--global とか --local をつけずに credential.helper の設定値を見ると、 osxkeychain が返ってくる。

$ git config credential.helper
osxkeychain

が、 --global とか --local とか --system をつけても osxkeychain は返ってこない。

どこで設定されてるのか分からないけど、結果としてこの設定を入れていても実際には毎回パスワードを聞かれるので、 --global とかで設定しておく。

3
5
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
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?