web-dev-qa-db-ja.com

Windows用Git Credential Managerを無効にする方法

最新バージョンのGitでは、デフォルトでは、毎回bashプロンプトでパスワードを要求されるのではなく、「Git Credential Manager for Windows」ダイアログがポップアップ表示されるようになりました。私は本当にこの行動が嫌いです。無効にしてbashシェルで毎回パスワードを入力する方法はありますか。

ところで、私は自分の認証情報をWindowsの認証情報であろうと内部デーモンであろうと、いかなる方法でもgitキャッシュしたくないです。資格情報のキャッシュをすべて無効にしたい。

136
Jez

OK私は、Git for Windowsインストーラーの間に "Git Credential Manager"チェックボックスをチェックすることを避けるか、(インストール後に)管理者としてbash Shellを実行し、git config --edit --system行を削除してhelper = manager行を削除します。信任状ヘルパー。

ボーナスポイントについては、git config --edit --globalを使用して挿入してください。

[core]
    askpass =

OpenSSH認証情報ポップアップも無効にします。

177
Jez

アンインストールオプションを使用して、Git Credential Manager for Windowsをアンインストールできました。

git-credential-manager.exe uninstall

C:\Program Files\Git\mingw64\libexec\git-coreでこのコマンドを実行してください。

26
Ian Mercer

私がVSTSで使用しなければならなかったもう一つのオプション:

git config credential.modalprompt false --global

10
Sten Petrov

私にはうまくいきませんでした。

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.

私が働いたので私はこれを入れた。これが他の人にも役立つことを願っています。

6
user6385799

私はその問題を抱えていた、私はからだけgit-credential-manager.exeを削除しました

C:\Program Files\Git\mingw64\libexec\git-core
6
Henry Vásquez

次のどちらかができます。

  1. win + R、「compmgmt.msc」と入力し、
  2. 「サービスとアプリケーション」 - >「サービス」を選択します
  3. クレデンシャルマネージャ
  4. [スタートアップの種類]を[無効]、[停止]、[適用]、[OK]の順に変更します。
6
Phoera

私は通常の使用のために資格証明マネージャを使いたかったのですが、私は明らかに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を使います、しかしそれはあなたを促すことは決してないでしょう、それは単に資格証明書を検索するでしょう、それは非対話的な環境で非常に役に立つことができます。

4
Martin Ba

多分問題はSourceTreeです。

  1. ジャンプツール - >オプション

  2. [デフォルトのリモートアップデートをチェックして[10]分]のチェックを外します。

  3. SourceTreeを再起動してください。

1
hatanooh

そして、もし:wqが私の場合のように動作しない場合、中止と終了にctrl + zを使用しますが、これらはおそらく複数のバックアップファイルを後で動作させるでしょう - Adeem Jan 19 at 9:14

また、Gitを管理者として実行してください。そうでなければファイルは保存されません(私の場合)。

1
user3437639

私はUbuntu(18.10)で同じ問題にぶつかりました。通常の方法では削除できません。私はgit config --global --unset credential.helperを使いました。

1
wanton
C:\Program Files\Git\mingw64\libexec\git-core                                                                       
git credential-manager uninstall --force    

これはWindowsシステム上で動作します。私はテストしました、そしてそれは私のために働きます。共有してくれてありがとう。

0
user4558740

credential Managerを削除するだけです。

C:\ Users \\ AppData\Local\Programs\Git\mingw64\libexec\git-core

0
Caio Borges