私はこれらの指示に従ってみました: https://stackoverflow.com/a/40312117/21728 これは基本的にこれを行います:
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
しかし、ネットワーク操作を行うと、次のエラーが表示されます。
** (process:7902): CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY
確かにX11ディスプレイはないので、それは理にかなっています。
Windows(WSL)上のUbuntuでGit資格情報キャッシュを機能させる方法は?
Git for Windowsをインストールした場合は、システムにWindows統合資格情報マネージャーがインストールされています。
here にあるように、WSLからWindows実行可能ファイルを実行できます。
それを使用するには、次のコマンドを実行できます(Windows用のgitがC:\ Tools\Gitにインストールされていると仮定)。
git config --global credential.helper "/mnt/c/Tools/Git/mingw64/libexec/git-core/git-credential-manager.exe"
これを行うスクリプト を作成しました。 Chefオーケストレーションで使用します。
cmd.exe
を開き、where git-credential-manager.exe
を呼び出しますcmd.exe
でwhere git.exe
を呼び出しますC:\Program Files\Git\cmd\git.exe
C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe
where
を再度使用してパスを取得します。必要がある:
C:\
を/mnt/c/
に置き換えます\
から/
に反転します\\
を使用してエスケープスペース(および存在する場合は括弧)そう...
"C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe"
は..."/mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
bash
でgit config --global credential.helper "<converted/path>"
を呼び出しますWindows 10と「WSL」を使用して、〜/ .gitconfigファイルを作成しましたが、[credential]セクションのラベルを[credentials]と間違えて入力していました。 git credential fillを実行して、その出力をgit credential approveに渡そうとしましたが、うまくいったかもしれませんが、「usage:git credential [fill | approve | reject]」と言ったのではないかと思います。最後に、私は単に走った:
$ git config --global credential.helper cache
そしてgit pullをしました;ユーザーとパスワードの入力を求められたら、いつものように入力しました。その後、それを思い出しました。 〜/ .gitconfigに(正しい名前の)セクションが追加されていることがわかりました。
[credential]
helper = cache
私はそれを編集して、はるかに長いタイムアウトを提供しました:
[credential]
helper = cache --timeout=144000
そして、それはすべてうまく機能しているようです。