web-dev-qa-db-ja.com

Gitから資格情報を削除する

私はいくつかのリポジトリで作業していますが、最近私は社内のリポジトリで作業していて、すべてが素晴らしかったです。

今日、私はコミットして他のコードにコードをプッシュしなければなりませんでしたが、いくつかの問題を抱えています。

$ git Push appharbor master
error: The requested URL returned error: 403 while accessing https://[email protected]/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed

私ができることは何もない、それは再びパスワード入力をもたらすだろう。

Gitが私にそのリポジトリのパスワードを要求するように私のシステムの資格情報をリセットするにはどうすればいいですか?

私が試してみました:

  • git config --global --unset core.askpass

パスワードを解除するために

  • git config credential.helper 'cache --timeout=1'

信任状のキャッシュを避けるために...

うまくいかないようです。誰かがより良い考えを持っていますか?

404
balexandre

Git信任状キャッシュは、ユーザーの信任状をメモリーにキャッシュし、それらを要求に応じて配布するデーモン・プロセスを実行します。そのため、git-credential-cache - デーモンプロセスを強制終了すると、これらすべてが破棄され、これをcache.helperオプションとして使用し続けると、パスワードの再入力が求められます。

git config --global --unset credential.helperを使ってGit信任状キャッシュの使用を無効にすることもできます。その後、これをリセットしてください。そうすれば、キャッシュされた資格情報を他のリポジトリー(もしあれば)で引き続き使用できるようになります。システム設定ファイルでこれが設定されている場合は、git config --system --unset credential.helperを実行する必要があるかもしれません(例えば、Git for Windows 2)。

Windowsでは、 manager ヘルパー(git config --global credential.helper manager)を使うほうがよいかもしれません。これにより、保存されている資格情報を削除または編集できるコントロールパネルインターフェイスを持つWindows資格情報ストアに、資格情報が保存されます。このストアでは、あなたの詳細はあなたのWindowsログインによって保護されており、複数のセッションにわたって持続することができます。 Git for Windows 2.xに含まれていた manager ヘルパーは、Git for Windows 1.8.1.1に追加されていた以前の wincred ヘルパーを置き換えたものです。 winstore と呼ばれる同様のヘルパーもオンラインで利用可能であり、GitExtensionsと共に使用され、よりGUI駆動のインターフェースを提供します。 manager ヘルパーは winstore と同じGUIインターフェースを提供します。

Windowsクレデンシャルストアパネルの詳細を記述している Windowsのマニュアル からの抜粋:

[スタート]ボタン[スタート]ボタンの画像、[コントロールパネル]、[ユーザーアカウントと家族の安全](またはネットワークドメインに接続している場合は[ユーザーアカウント])の順にクリックし、[ユーザーアカウント]をクリックします。左側のペインで、[資格情報の管理]をクリックします。

468
patthoyts

この問題がWindowsマシンで発生する場合は、以下の手順を実行してください。

  • 認証情報マネージャに移動します
  • Windows資格情報に移動します
  • Generic Credentialsの下のエントリを削除します
  • もう一度接続してみてください。今回は、正しいユーザー名とパスワードの入力を求めます。

Go to Credential Manager

Go to Windows Credentials and Delete the entries under Generic Credentials

396

再入力:

$ git config credential.helper store

その後、資格情報をもう一度入力するように求められます。

_ warning _

このヘルパーを使用すると、パスワードは暗号化されずにディスクに保存されます。

ソース: https://git-scm.com/docs/git-credential-store

132
aaafly

私はOPと同じ問題に直面しました。システム上のどこかに保存されている古いGit認証情報を取得していたので、新しい認証情報でGitを使用したいので、次のコマンドを実行しました。

$ git config --system --list

示した

credential.helper=manager

git Pushを実行したときはいつでも、以前設定した古いユーザー名を使用していたので、変更をプッシュするには新しいGitHubアカウントを使用したいと思いました。私は後で私の古いGitHubアカウントの認証情報が コントロールパネル ユーザーアカウント 認証情報マネージャ Windows認証情報の管理 の下に保存されていることを知りました。

Manage Windows Credentials

これらの認証情報を削除したところ、git Pushを実行したときにGitHubの認証情報を要求されましたが、これは魅力のように機能しました。

61
Mourya

下記のコマンドを使ってみてください。

git credential-manager

ここであなたはあなたの資格情報を管理するための様々なオプションを得ることができます(以下のスクリーンをチェックしてください)。

Enter image description here

あるいは、このコマンドを直接試すこともできます。

git credential-manager uninstall

これにより、サーバーとのやり取りが要求されるたびにパスワードの入力を求められます。

39

私の場合、GitはWindowsを使って認証情報を保存しています。

あなたがしなければならないのはあなたのWindowsアカウントに保存されている保存された資格情報を削除することだけです:

Windows credentials menu

27
SoliQuiD

私は私のために働く何かを見つけました。私がOPに私のコメントを書いたとき、私はシステム設定ファイルをチェックするのに失敗しました:

git config --system -l

を示します

credential.helper=!github --credentials

ライン。設定を解除します

git config --system --unset credential.helper

そして今、資格情報が忘れられています。

22
damix911
git config --list

credential.helper = managerが表示されます(これはWindowsマシン上です)。

現在のローカルgitフォルダに対してこのキャッシュされたユーザー名/パスワードを無効にするには、単に次のように入力します。

git config credential.helper ""

こうすれば、gitは "manager"の中に保存されているものを無視して、毎回パスワードの入力を促します。

12
Zhe Hu

"wincred" *があるWindows 2003 Serverでは、他の答えはどれも私を助けませんでした。 cmdkey を使わなければなりませんでした。

  • cmdkey /listは、保存されているすべての資格情報を一覧表示します。
  • cmdkey /delete:Targetは、 "Target"という名前の資格情報を削除します。

cmdkey /list; cmdkey /delete:Target

(* "wincred"とはgit config --global credential.helper wincredを意味します)

11
ericbn

それぞれのgithubでログインする必要がありますusernamepassword

Windowsでユーザー名とパスワードを消去する

コントロールパネル\ユーザーアカウント\資格情報マネージャ

windows資格情報を編集します

既存のユーザーを削除し、コマンドプロンプトに移動します。プッシュコマンドを入力すると、githubポップアップが表示され、username/emailおよびpasswordが入力されます。

これで、ユーザーを切り替えた後にコードをプッシュできます。

10
Amit K

'git pull'を実行したときに同じエラーが発生しましたが、これが私がそれを修正した方法です。

  1. レポジトリをHTTPSに変更
  2. 実行コマンドgit config --system --unset credential.helper
  3. 実行コマンドgit config --system --add credential.helper manager
  4. テストコマンドgit pull
  5. ポップアップ表示されるログインウィンドウに資格情報を入力します。
  6. Git pullは正常に完了しました。
7
Amer Bashoeb

Windowsの現在ログインしているユーザーフォルダにある.gitconfigファイルからこの行を削除します。

[credential]
helper = !\"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\"

これは私のために働きました、そして今私がリモートにプッシュするときそれは私のパスワードをもう一度尋ねます。

7
Liviu M.

Windows用Git Credential Manager が使用されている場合(現在のバージョンでは通常行われています):

git credential-manager clear

これは 2016年半ばに追加された です。認証情報マネージャが使用されているかどうかを確認するには

git config --global credential.helper
→ manager
6

Gitの認証情報を削除するために、次のファイルcredential.helper=!github --credentialsから行C:\Program Files\Git\mingw64\etc\gitconfigを削除できます。

6
Yoan Pumar
  1. C:\Users\<current-user>に行く
  2. .git-credentialsファイルをチェックしてください
  3. コンテンツを削除するか、必要に応じて変更してください
  4. 端末を再起動してください
5
Dinesh Patil

私の場合は、Windows資格情報マネージャ(Windows 7)に保存されている資格情報が見つかりませんでした。

実行することで私の資格情報をリセットすることができました

git config --global credential.helper wincred

それが私の信任状を一掃して実際にうまくいったかどうかを確認するのは正直なところ嘆かわしいマリアでした。

5
jlafay

このエラーは、同じコンピュータで複数のGitアカウントを使用しているときに表示されます。

あなたがmacOSを使っているなら、あなたは github.com の保存された資格情報を削除することができます。

github.com の認証情報を削除するには、以下の手順に従ってください。

  1. 開く キーチェーンアクセス
  2. 検索 github
  3. github.com を選択して右クリックします
  4. 削除 "github.com"
  5. もう一度gitするためにPushまたはPullを試みると、資格情報が求められます。
  6. リポジトリアカウントの有効な認証情報を入力してください。
  7. 完了

    enter image description here

4
Pratik Patel

資格情報マネージャで更新する必要があります。

「コントロールパネル」>「ユーザーアカウント」>「資格情報マネージャ」>「Windows資格情報」に進みます。リストにGitの資格情報が表示されます(例:git:https://)。それをクリックし、パスワードを更新し、そしてあなたのGit bashからgit pull/Pushコマンドを実行すれば、それ以上エラーメッセージを投げることはありません。

4
ChiragBhalgami

Windows 10 Professional上でWindows用の最新バージョンのgitを使用しているときと同様の問題がありました。2つの異なるGitHubアカウントとBitbucketアカウントがあり、VS2017、git拡張、およびgit bashが少し混乱します。

最初に、このコマンドを使ってgitが自分の認証情報をどのように処理しているかを確認しました(昇格したコマンドでgit bashを実行するか、エラーが発生します)。

git config --list

[Credential Manager]というエントリが見つかったので、[スタート]ボタンをクリックし、[Credential Manager]と入力して[Credential Manager]を左クリックし、アプリを起動しました。それから私はWindows資格情報タブをクリックして、私はこのアカウントを削除したのでたまたまBitbucketである私の現在のgitアカウントのエントリを見つけました。

しかし、これはうまくいきませんでしたので、次のステップは資格情報を設定解除することでした。私はこれを私のラップトップ上のリポジトリディレクトリから実行しました。次のコマンドを入力しました。

git config --system --unset credential.helper

それから私はgit Pushをしました、そして私が入力したGitHubユーザー名(私が必要とした正しいもの)とそれに関連したパスワードと全てが正しくプッシュされたことを促されました。

私はこれがどれほどの問題になるのかわからないが、たいていの人はたぶん1つのレポジトリでうまくいくだろうが、私はいくつかにまたがって異なるプロバイダを使って作業しなければならない。

2
Tahir Khalid

私たちの場合、ユーザーの.git-credentialsファイルのパスワードをクリアすることは私たちのために働きました。

c:\users\[username]\.git-credentials
0
Fares

GitHubデスクトップを使用し、リポジトリの設定に移動し、リポジトリのURLからuser:pass @を削除することで、この問題を解決しました。それから、コマンドラインからプッシュを試み、ログイン認証情報の入力を求められました。私がそれらをすべての中に入れた後に、正常に戻りました。 Visual Studioとコマンドラインの両方が機能しており、もちろんGitHubデスクトップも機能しています。

GitHubデスクトップ - >リポジトリ - >リポジトリ設定 - >リモートタブ

プライマリリモートリポジトリ(Origin)を次の場所から変更します。

https://[email protected]@github.com/MyProject/MyProject.git

に:

https://github.com/MyProject/MyProject.git

「保存」をクリック

資格情報が消去されます。

0
Nick Pirocanac

Windowsでは、少なくとも git remote show [remote-name] は動作します。

git remote show Origin
0
Jason S

上記のみんなが述べたように、これはGit Credential Managerの問題です。権限があるため、自分の資格情報を変更したり、資格情報マネージャを操作したりすることはできませんでした。私はまた、PC上でプレーンテキストでパスワードを座ることができませんでした。回避策は、intellij内のリモートブランチを削除し、リモートブランチを再追加することでした。これにより、保存されている資格情報が削除され、資格情報の更新が強制されます。

enter image description here

0
Akin Okegbile

上記のようなものがあなたのために働いていないときにこれを試してください。

git config credential.helper 'cache --timeout=30'

これにより、3秒ごとにキャッシュが削除され、ユーザー名とパスワードが要求されます。タイムアウト値を増やしてコマンドを再実行できます。

0
manish kumar

@ patthoytsの高得点の回答( https://stackoverflow.com/a/15382950/4401322 )から構築します。

彼の答えは「ローカル」対「グローバル」対「システム」設定を使っていますが説明はしていません。彼らのための公式のgitドキュメンテーションは ここ そして読む価値があります。

例えば、私はLinuxを使っていて、 system configを使わないで、--systemフラグを使うことは決してありませんが、--local--global configsを区別する必要があります。

私のユースケースは2つのGithub資格を持っているということです。一つは仕事用、もう一つは遊び用です。

これが私が問題を処理する方法です:

$ cd work
# do and commit work
$ git Push Origin develop
# Possibly prompted for credentials if I haven't configured my remotes to automate that. 
# We're assuming that now I've stored my "work" credentials with git's credential helper.

$ cd ~/play 
# do and commit play
$ git Push Origin develop                                                                   
remote: Permission to whilei/specs.git denied to whilei.                
fatal: unable to access 'https://github.com/workname/specs.git/': The requested URL returned error: 403

# So here's where it goes down:
$ git config --list | grep cred
credential.helper=store # One of these is for _local_
credential.helper=store # And one is for _global_

$ git config --global --unset credential.helper
$ git config --list | grep cred
credential.helper=store # My _local_ config still specifies 'store'
$ git config --unset credential.helper
$ git Push Origin develop
Username for 'https://github.com': whilei
Password for 'https://[email protected]':
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 1.10 KiB | 1.10 MiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/whilei/specs.git
   b2ca528..f64f065  master -> master

# Now let's turn credential-helping back on:
$ git config --global credential.helper "store"
$ git config credential.helper "store"
$ git config --list | grep cred
credential.helper=store # Put it back the way it was.
credential.helper=store

この問題を完全に回避する方法があることも注目に値します。たとえば、Github用のSSHキー(仕事用、遊び用)とそれに対応するカスタム名前付きリモートホストを組み合わせた~/.ssh/configを使用して認証コンテキストを解決することもできます。

0
irbanana

Windowsキャッシュ用Git Credentials Managerをクリアするには

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

または

rm %LOCALAPPDATA%\GitCredentialManager\tenant.cache
0
Chris F Carroll

キーペアを使用して認証された場合は、秘密キーを削除または移動したり、キーエージェントを停止して試行したりできます。

0
Munim

macOSユーザーの場合:

このエラーは、同じコンピュータで複数のGitアカウントを使用しているときに表示されます。

以下の手順に従って、github.comの認証情報を削除してください。

  1. ファインダーに行く
  2. アプリケーションへ
  3. ユーティリティフォルダに移動します
  4. オープンキーチェーンアクセス
  5. Github.comを選択して右クリック

    "github.com"を削除します

もう一度gitするためにPushまたはPullを試みると、資格情報が求められます。リポジトリアカウントの有効な認証情報を入力してください。完了

0
curiousneuron