最新バージョンのGitでは、デフォルトでは、毎回bashプロンプトでパスワードを要求されるのではなく、「Git Credential Manager for Windows」ダイアログがポップアップ表示されるようになりました。私は本当にこの行動が嫌いです。無効にしてbashシェルで毎回パスワードを入力する方法はありますか。
ところで、私は自分の認証情報をWindowsの認証情報であろうと内部デーモンであろうと、いかなる方法でもgitキャッシュしたくないです。資格情報のキャッシュをすべて無効にしたい。
OK私は、Git for Windowsインストーラーの間に "Git Credential Manager"チェックボックスをチェックすることを避けるか、(インストール後に)管理者としてbash Shellを実行し、git config --edit --system
行を削除してhelper = manager
行を削除します。信任状ヘルパー。
ボーナスポイントについては、git config --edit --global
を使用して挿入してください。
[core]
askpass =
OpenSSH認証情報ポップアップも無効にします。
アンインストールオプションを使用して、Git Credential Manager for Windowsをアンインストールできました。
git-credential-manager.exe uninstall
C:\Program Files\Git\mingw64\libexec\git-core
でこのコマンドを実行してください。
私がVSTSで使用しなければならなかったもう一つのオプション:
git config credential.modalprompt false --global
私にはうまくいきませんでした。
C:\Program Files\Git\mingw64\libexec\git-core
git-credential-manager.exe uninstall
Looking for Git installation(s)...
C:\Program Files\Git
Updated your /etc/gitconfig [git config --system]
Updated your ~/.gitconfig [git config --global]
Removing from 'C:\Program Files\Git'.
removal failed. U_U
Press any key to continue...
しかし--forceフラグを使うとうまくいきました:
C:\Program Files\Git\mingw64\libexec\git-core
git credential-manager uninstall --force
08:21:42.537616 exec_cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
e
08:21:42.538616 git.c:576 trace: exec: git-credential-manager uninstall --force
08:21:42.538616 run-command.c:640 trace: run_command: git-credential-manager uninstall --force
Looking for Git installation(s)...
C:\Program Files\Git
Updated your /etc/gitconfig [git config --system]
Updated your ~/.gitconfig [git config --global]
Success! Git Credential Manager for Windows was removed! ^_^
Press any key to continue...
実行した後、私はその跡を見ることができました:
set git_trace=1
また、私はgitのユーザー名を追加しました:
git config --global credential.username myGitUsername
その後:
C:\Program Files\Git\mingw64\libexec\git-core
git config --global credential.helper manager
最後に、私はこのコマンドを入れました:
git config --global credential.modalPrompt false
Sshエージェントが起動しているか確認します - bashウィンドウを開いてこのコマンドを実行します
eval "$(ssh-agent -s)"
次に、コンピューターのusers/yourNameフォルダーに.sshを追加します(まだbashのままです)。
ssh-add .ssh/id_rsa
or
ssh-add ~/.ssh/id_rsa(if you are not in that folder)
上記で追加した設定をすべて確認しました。
C:\Program Files\Git\mingw64\libexec\git-core
git config --list
09:41:28.915183 exec_cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-cor
e
09:41:28.917182 git.c:344 trace: built-in: git config --list
09:41:28.918181 run-command.c:640 trace: run_command: unset GIT_PAGER_IN_USE; LESS=FRX LV=-c less
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
credential.modalprompt=false
credential.username=myGitUsername
そして、初めてgit Push
をしたときに初めてusernameを追加してパスしなければなりませんでした。
git Push
Please enter your GitHub credentials for https://[email protected]/
username: myGithubUsername
password: *************
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 316 bytes | 316.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
git Push
より後に、私はもう私のgit資格情報を入力するメッセージを持っていません。
D:\projects\react-redux\myProject (master -> Origin) ([email protected])
λ git Push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 314 bytes | 314.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/myGitUsername/myProject.git
8d38b18..f442d74 master -> master
これらの設定の後、私はそのメッセージを添付したEメールも受け取りました。
A personal access token (git: https://[email protected]/
on LAP0110 at 25-Jun-2018 09:22) with Gist and repo scopes was recently added
to your account. Visit https://github.com/settings/tokens for more information.
私が働いたので私はこれを入れた。これが他の人にも役立つことを願っています。
私はその問題を抱えていた、私はからだけgit-credential-manager.exeを削除しました
C:\Program Files\Git\mingw64\libexec\git-core
次のどちらかができます。
私は通常の使用のために資格証明マネージャを使いたかったのですが、私は明らかにgit.exe
からのいかなるプロンプトも望まないスクリプトを持っています。これが私のスクリプトからgitを呼び出す方法です:
set GIT_TERMINAL_Prompt=0
git -c core.askpass= -c credential.helper= <command> ...
このようにして、スクリプトは設定を変更することなく常に「正しい」プロンプトなし設定を確認します。
(Windows 2.13.3用のgit)
私が見つけたバリエーションも便利になるかもしれないことを設定することです:
set GCM_INTERACTIVE=never
# or: git config --global credential.interactive never
set GIT_TERMINAL_Prompt=0
git.exe -c core.askpass= -c credential.helper=manager <command> ...
しかしgit.exe -c credential.interactive=never <command> ...
は機能しないことに注意してください(-c
のことはGit-Credential-Manager-for-Windowsなどには転送されないようです)。
そのように、あなたはcanはGCMfWを使います、しかしそれはあなたを促すことは決してないでしょう、それは単に資格証明書を検索するでしょう、それは非対話的な環境で非常に役に立つことができます。
多分問題はSourceTreeです。
ジャンプツール - >オプション
[デフォルトのリモートアップデートをチェックして[10]分]のチェックを外します。
SourceTreeを再起動してください。
そして、もし:wqが私の場合のように動作しない場合、中止と終了にctrl + zを使用しますが、これらはおそらく複数のバックアップファイルを後で動作させるでしょう - Adeem Jan 19 at 9:14
また、Gitを管理者として実行してください。そうでなければファイルは保存されません(私の場合)。
私はUbuntu(18.10)で同じ問題にぶつかりました。通常の方法では削除できません。私はgit config --global --unset credential.helper
を使いました。
C:\Program Files\Git\mingw64\libexec\git-core
git credential-manager uninstall --force
これはWindowsシステム上で動作します。私はテストしました、そしてそれは私のために働きます。共有してくれてありがとう。
credential Managerを削除するだけです。
C:\ Users \\ AppData\Local\Programs\Git\mingw64\libexec\git-core