GitHubの指示に従ってアカウントを設定し、クローンを作成することはできますが、リモートでプッシュすることはできません。
「git Push」を実行すると、403エラーが発生します。正しいURLを持っています。 「git credential-osxkeychain get」を試して、それが何を与えているかを確認しましたが、これは間違った資格情報を出力します。
何が起こったのかは、最初に資格情報を要求したとき、別のアプリケーションが要求していると思い、間違ったものを入力したと思います。
GitHubアカウントに正しいキーチェーンアイテムを使用するようにリセットする必要があります。
私はもう試した:
git credential-osxkeychain erase
git credential-osxkeychain set
プログラムはプロンプトを出しません。私が正しいことをしないと、セットは「悪い入力」と言うでしょう。 「password=password
」などを入れてみましたが、「get」を実行しても古いものが取得されます。
これらが.gitconfigureにないため、これらがどこに保存されているかわかりません。さらに、最近のキーチェーンアイテムはありません。 (キーチェーンに複数のGitHubアカウントがあり、いずれも使用していません。)
ソリューションはこれであることが判明しました:
コマンドgit credential-osxkeychain
は、私のキーチェーンでfirst GitHubアカウントエントリを使用していました。これは、問題のプロジェクトにアクセスできるものではありませんでした。
キーチェーンアクセスのアカウントをタッチして問題を解決し、日付が変更され(コメントを変更しただけだと思います)、最新のGitHubアカウントになり、credential-osxkeychainに最初に返されたため、すべてが機能しました。
複数のGitHubアカウントのより良いサポート形式はNiceですが、ほとんどの人はプライマリアカウントを1つしか持っておらず、この問題に遭遇しない可能性が高いです。
ターミナルから:
$ git credential-osxkeychain erase
Host=github.com
protocol=https
<press return>
注:上記の「protocol = https」を入力したら、~~ RETURN ~~を2回押す必要があります
コマンドラインから消去する方法はわかりませんが、キーチェーンアクセスアプリから消去するのはかなり簡単です。 [アプリケーション]-> [ユーティリティ]-> [キーチェーンアクセス]に移動し、「github.com」と入力します。無効なアイテムを削除するか、アプリでパスワードを更新できます。
git-credential-osxkeychainは、上記のようにAppleキーチェーンにパスワードを保存します。
デフォルトでは、gitcredentialsはドメイン名のみを考慮します。 Gitにフルパスを考慮させる場合(たとえば、複数のGitHubアカウントがある場合)、 http://git-scm.comで説明されているように、useHttpPath
変数をtrue
に設定します。 /docs/gitcredentials.html 。この設定を変更すると、各URLの資格情報が再度要求されることに注意してください。
Macでは、git credential-osxkeychain erase
コマンドを使用します。
または、Applications→Utilities→Keychain Accessからキーチェーンから手動で削除します。次に、github.comキーチェーンを削除します。次に、プッシュを使用します。キーチェーンアクセスを要求します。その後、拒否します。
新しいユーザー名とパスワードを要求し、追加してからそのファイルをプッシュします。
git Push
の後、このエラーが見つかりました。次に、大文字の問題を使用します:
remote:user1/file.gitへのアクセス権がuser2(以前はuserに存在)に対して拒否されました。致命的: ' https://github.com/xxxxxxxxxxxx/ 'にアクセスできません:要求されたURLがエラーを返しました:403
/Applications/Utilities/Keychain Access
を実行してみてください。
この問題のGitHubヘルプページ: https://help.github.com/articles/updating-credentials-from-the-osx-keychain/