1. ホーム
  2. git

[解決済み] コミットをプッシュするためにhttpsの認証情報をキャッシュする方法はありますか?

2022-03-18 04:40:22

質問

最近、(ファイアウォールの問題で)GitHub の https:// にリポジトリを同期するように変更したのですが、毎回パスワードを要求されます。

を毎回認証するのではなく、認証情報をキャッシュする方法はないでしょうか? git push ?

解決方法は?

Git 1.7.9 (2012年リリース) 以降、Git には HTTP / HTTPS で常にパスワードを入力する必要がないようにするための巧妙な仕組みがあります。 クレデンシャルヘルパー .

以下のクレデンシャルヘルパーのいずれかを使用すればよい。

git config --global credential.helper cache

credential.helper cache の値 の間、パスワードをメモリにキャッシュしておくように指示します。 . デフォルトは15分ですが、より長いタイムアウトを設定することができます。

git config --global credential.helper "cache --timeout=3600"

どちらが1時間キャッシュを設定するか、です。

git config --global credential.helper "cache --timeout=86400"

1日分です。必要であれば、認証情報を永久に保存することもできます。以下の他の回答を参照してください。

GitHubのヘルプ も提案しています。 Mac OS X を使っていて ホームブリュー を使って Git をインストールすると、Mac OS X ネイティブの鍵ストアを使用することができます。

git config --global credential.helper osxkeychain

Windows用 というヘルパーがあります。 Windows用Gitクレデンシャルマネージャー または msysgitのwincred .

git config --global credential.helper wincred # obsolete

Git for Windows 2.7.3+ (2016年3月)をご参照ください。

git config --global credential.helper manager

Linux用 を使用すると、(2011年) gnome-keyring (またはKWalletのようなキーリングの実装)。

現在(2020年)では、(Linuxの場合)でしょう

フェドラ

sudo dnf install git-credential-libsecret
git config --global credential.helper /usr/libexec/git-core/git-credential-libsecret

Ubuntu

sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret