Git認証ヘルパー-パスワードの更新


198

私は現在HTTPS経由でGitHubを使用しており、最新バージョンのGit(1.9.0)とWindows 7のGit認証ヘルパーをインストールしています。

私の環境をセットアップする際に、ユーザー名とパスワードを永久に記憶するようにgit-credentialsに指示しました。

最近、ウェブサイトでGitHubパスワードを更新しましたが、プッシュ、プル、フェッチなどができなくなりました。

Windows 7のgit-credentialsヘルパーでパスワードを更新するにはどうすればよいですか?


6
単純です。「git config --global credential.helper wincred」を使用して、ユーザーIDとパスワードを入力します。これは保存されます。次回パスワードを変更するときは、上記のコマンドを再実行してください。
Akshay Lokur 2017年

@AkshayLokurこれが正解です。
Ravimallya 2017年

他のすべてが失敗し、TortoiseGitを使用している場合は、それを介してアクションを試すことをお勧めします。たとえば、Tortoiseを使用したプルまたはフェッチでは、パスワードの入力を求められます。このパスワードを更新できます。これはGit Bashキャッシュを上書きするようで、bashをもう一度使用できます。
Paul F. Wood

回答:


280

これらの答えはどれも、私のGitクレデンシャルの問題で機能しませんでした。だれかがそれを必要とした場合、何が機能したかを以下に示します(私はWindows 8.1でGit 1.9を使用しています)。

資格情報を更新するには、[コントロールパネル][ 資格情報マネージャー] →[ 汎用資格情報]に移動します。Gitアカウントに関連する認証情報を見つけ、更新して、更新されたパスワードを使用します。

参照:WindowsでGit資格情報を更新する方法

Git用のWindows資格情報マネージャーを使用するには、資格情報ヘルパーを次のように構成する必要があることに注意してください。

git config --global credential.helper wincred

異なるリポジトリに使用する複数のGitHubアカウントがある場合は、(デフォルトのドメインだけでなく)完全なリポジトリパスを使用するように認証情報を設定する必要があります。

git config --global credential.useHttpPath true

21
git config --listが含まれてcredential.helper=wincredいる場合、これは受け入れられる答えになります 。
MF

6
私のために働いた-ありがとう-Windows資格情報マネージャーについても学びました。
rwalter

この。パスワードの変更は機能しませんでしたが、資格情報を削除してから、git pushで資格情報を再度要求され、機能しました。
BiAiB

2
ウィンドウ8.1とウィンドウ10でも動作すると思います。私の場合:window 10 Pro、git 2.17
Thinhbk

2
(私のような)別のプロンプトを期待して保存されている資格情報を削除したが、プロンプトが表示されない人のために。資格情報マネージャから、あなたはできるのアドレスを持ちます。HttpまたはHttpsは同じですが、重要なビットは最初にです。ADDGeneric Credentialgit:http://yourserver:port/git:
A. Chiesa

101

パスワードを変更した後で最初にGitをフェッチしようとしたときに、ユーザー名とパスワードの組み合わせが無効であると言われました。git-credentialヘルパーが私の古い値をキャッシュしていたので、これは正しかったです。

しかし、ターミナル/コマンドプロンプトを再起動した後、別のgit fetchを試みましたが、今回は資格情報ヘルパーがGitHubのユーザー名とパスワードの入力を求めてきました。

端末/コマンドプロンプトの再起動と組み合わせて、最初の失敗したGitフェッチリクエストがこれを解決したと思います。

この答えが将来同じような立場にいる他の人に役立つことを願っています!


2
Git Bashを再起動するだけで、新しいユーザー名/パスワードを入力するダイアログが表示されます。
Quan

2
念のため、Windows 7でPowershellセッションを再起動せずに別のプル/フェッチを実行することで、これを回避することができました。
Bender the Greatest

コンソール/アプリを再起動すると、「wincred」が機能しました。(コンソールと「Atom」を再起動する必要があり、すべてが正常に機能しました)
low_rents

3
資格情報を2回目に必要とするgitコマンドを入力すると、だけgit fetchでなく、2回目にも機能するように見えgit cloneます。
navigator_17年

どうもありがとうございました!ドメインパスワードを変更するたびに、資格情報を更新する方法を覚えておかなければなりません。Gitfetch-うまくいきました。
Alexander Brattsev

74

Windows、Linux、MacOSのコマンドラインを使用したソリューション

GitHubサーバーでGitHubパスワードを更新した場合、git fetch/pull/pushコマンドの最初の試行で認証失敗メッセージが生成されます。

同じgit fetch/pull/pushコマンドをもう一度実行すると、資格情報(ユーザー名とパスワード)の入力を求められます。GitHubサーバーのユーザー名と新しい更新パスワードを入力すると、ログインが成功します。

私もこの問題を抱えていて、上記の手順を実行して完了しました!!


@ヴィンセント:あなたが得ている問題は何ですか?
Farooque

2
繰り返しリモートになる:ユーザー名またはパスワードが無効です。致命的:認証に失敗しました
RichMeister 2018年

1
@RichMeister:2回目以降はユーザー名/パスワードを要求します。ユーザー名/新しいパスワードを入力してください。
Farooque 2018年

3
パスワードの変更後、キャッシュされた資格情報を使用してMacOSで私のために働いた。初めて「...の認証に失敗しました」を取得します。再試行し、資格情報の入力を求められ、ユーザーIDと新しいパスワードを入力して、再び機能しました
Kevin Hooke

1
これが最良/最も簡単な答えです
Ryan Boken

74

Windowsユーザーの場合、資格情報マネージャーで資格情報を削除または更新できます。

Windows 10では、次のパスに移動します。

コントロールパネルすべてのコントロールパネル項目資格情報マネージャー

または、[スタート]メニューの[ウィンドウの検索]セクションで「資格情報マネージャー」を検索します。

次に、資格情報マネージャーから、「Windows資格情報」を選択します。

Credential Managerは、「Generic credentials」の下にOutlookやGitHubリポジトリを含む多くの項目を表示します

Gitの右側にあるドロップダウン矢印をクリックすると、編集と削除のオプションが表示されます。削除すると、次回フェッチまたはプルしたときに資格情報ポップアップが表示されます。または、そこで資格情報を直接編集できます。


3
他のオプションを試した後、これだけがうまくいきました。ここで情報を見つけました:cmatskas.com/how-to-update-your-git-credentials-on-windows
neomib

注:このコントロールは、METRO UI「コントロールパネル」からはアクセスできません!control.exeこのコントロールを表示するには、手動で実行する必要があります。
AnrDaemon

これは大いに役立ちました!このツールが存在することさえ知りませんでした。
ジョー

35

まず、Gitコマンドで使用しているバージョンを見つけますgit --version。1.7.10より新しいバージョンを使用している場合は、次のコマンドを使用します。

git config --global credential.helper wincred

次にを実行git fetchすると、パスワードの更新を求められます。

これで、Gitで何度もパスワードの入力を求められなくなります。


6
これは質問の答えにはなりません
disklosr 2017年

2
@disklosrはい、あります。次回リモートアクションを実行するときに、Gitは更新されたパスワードの入力を求められます。
Nilpo

1
@Nilpoでは、「リモートアクション」とは何ですか。「git push origin xxx」をリモートアクションにしないでください。それはそれをやっていない。代わりに私はリモートになります:無効なユーザー名またはパスワード。
RichMeister 2018年

1
それは私のために働いた。このコマンドを実行した後。「git fetch」を実行すると、資格情報の入力を求められます。
アレックス

なんで--global?影響を受けるリポジトリだけでなく、すべてのリポジトリについて再度尋ねられるリスクはありませんか?
トーマスウェラー

29

ここでの答えは時代遅れのようです。私にとってWindows 10とGit 2.15.0の場合、これでうまくいきました:

git credential reject
protocol=https
host=github.com
<Empty line here>

次に、新しいユーザー名とパスワードを設定します。

git credential fill
protocol=https
host=github.com
<empty line here>

この後、クレデンシャルが目的のターゲットホストで機能するgit credential approveようになった場合は、Gitクレデンシャルの一般的な使用(ステップ4)で述べたように、クレデンシャルヘルパーにクレデンシャルを承認済みとしてマークし、将来の接続で再利用するように指示する必要があります。


1
私にとっては、このgit credential fill部分をそのまま実行すると、古い間違ったパスワードが自動的に生成されました。このコマンドを使用するには、新しいコマンドを手動で設定する必要がありました。とにかく、ありがとう、この答えは私にこの問題を助けてくれました!
Emerson Cardoso

トップに賛成投票!古いソリューションを読むのにどれだけの時間を無駄にしたか。実際、Git Credential Managerはここで責任を負うことになります。ドメインパスワードがローテーションされるときに苦労する必要があると私は思います。
Janis Veinbergs、

1
あとfill、使ってみapproveませんか?
Z.クラ

私のマシンでgit credential rejectは決して完了しません
Thomas Weller

@ThomasWellerでは、Enterキーを押して空の行をそこに残す必要があります。
atavio

19

FWIW、私はこの非常に同じ問題に遭遇しました(そして私の上司もそうだったので、さらに激しくなりました)。

インスタントソリューションは、Windows Credential ManagerでGitエントリを削除または修正することです。ローカライズされたWindowsバージョンでそれを見つけるのは難しいかもしれませんが、幸運にも、古き良きWindows+ R実行ダイアログから、control keymgr.dllまたはcontrol /name Microsoft.CredentialManager(またはrundll32.exe keymgr.dll, KRShowKeyMgrクラシックな外観を好む場合)から開始できます。または、これを同僚のバッチファイルに入れますcmdkey /delete:git:http://your.git.server.company.com

MicrosoftのGit Credential Managerでは、これは既知の問題であり、2019年の初めに修正される可能性があります(したがって、息を止めないでください)。


1
コントロールパネルのUIを使用してWindows資格情報マネージャーを理解することは素晴らしいことですが、すべてのマシンで更新する必要がある場合は面倒になります。この単一のコマンドは、Gitが次に資格情報を必要とするときに資格情報を再度要求するのと同じことを行う(既存の無効な資格情報を削除する)ため、すばらしいものです。Windows Serverの2016年には、削除資格へのコマンドの構文は若干異なります。 cmdkey /delete:git:https://your.git.server.company.com
初歩的な

/delete{:<TargetName>}公式の構文ですが/del <TargetName>、少なくともWindows 10(1803)ではショートカットも機能することがわかりました。
Jakob

エイリアスに最適です。delpw = !cmdkey /delete:git:$(git remote get-url $1)。使用法:git delpw origin(ps:/ delはここでは機能しませんでした
。Win10

6

ただ、cdあなたはgitの-資格-winstoreをインストールしたディレクトリにあります。どこにあるかわからない場合は、Git Bashで実行してください。

cat ~/.gitconfig

次のように表示されます。

[credential]
    helper = !'C:\\ProgramFile\\GitCredStore\\git-credential-winstore.exe'

この場合、リポジトリはC:\ ProgramFile \ GitCredStoreです。Git BashまたはWindowsコマンドを使用してこのフォルダーに移動したら、次のように入力します。

git-credential-winstore.exe erase
host=github.com
protocol=https

Enter2回押すことを忘れないでくださいprotocol=https


3

現在のソリューションはいずれも、git bash 2.26.2では機能しませんでした。 これは、Windows資格情報マネージャーを使用している場合はどのような場合でも機能するはずです。

1つの問題は、ログインしたユーザーに対してWindows資格情報マネージャーが実行されることです。例えば私の場合、右クリックでgit bashを実行し、管理者として実行します。したがって、保存された資格情報は資格情報マネージャーにあり、管理者としてWindowsにログインしないと、Windows GUIでアクセスできません。

これを修正するには:

  • 管理者(またはbashで実行するユーザー)としてcmdを開きます
  • windows / system32に移動します
  • と入力しcmdkey /listます。ここに古い認証情報が表示され、... target:xxx ...
  • タイプcmdkey /delete:xxx、ここでxxxは前の行のターゲットです

資格情報が削除されたことを確認する必要があります。次にgit bashで認証を必要とする操作を行うと、ポップアップに資格情報が要求されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.