リモートの解決方法 git の使用中に xxx への権限が拒否される問題が発生しました。
状況はざっとこんな感じで、当初はgithubのアカウント(とりあえずAアカウントとします)を登録し、Android Studioと関連付け、このアカウントでリモートリポジトリをいくつか作成していました。ある日突然、Aという名前が気持ち悪くて覚えられないと感じ、Aアカウントを削除して別のBアカウントを登録しました。最近、デモを書いていて、そのデモをgithubにアップロードしようと思ったら、ローカルリポジトリは構築されて、プロジェクトは正常にコミットされているのに、最後のステップのリモートリポジトリへのプッシュで、エラーが報告されてずっと表示されたままになっています。
解決方法
1. 新しいSSH KEYを生成する
git bash 端末入力コマンド(""の中身は自分で取ることができます。)
$ ssh-keygen -t rsa -C "IWindow_personnal_publicKey"
次に、単にEnterキーを押すのではなく、アカウントAのrsaファイルと区別するために、rsaファイルの名前を設定します。
/Users/Apple/.ssh/id_rsa_bcount
次の2つは直接Enterキーを押してください。
gitコマンド全体のスクリーンショットは以下の通りです。
2. GitHubに新しく生成されたSSHキーを追加する。
.sshフォルダを開き、先ほど生成したid_rsa_bcountファイルを見つけ、それを開いて中身をコピーします。ここではメモ帳ソフトで開きました。
次にgithubの[New SSH key]ボタンをクリックし、コピーしたrsaの内容を鍵入力ボックスに貼り付け、[Add SSH Key]をクリックすると新しいssh鍵が生成されます。
3. 3. ~/.ssh/config ファイルを開いてください。
まず、.sshフォルダの下にconfigファイルがあるかどうかを確認し、なければconfigファイルを作成します。
コンフィグを作成するためのコマンドライン。
$ git touch config
次に、新しいホストを追加する必要があります。私は github-bcount と名付けました。
これは、設定ファイルをメモ帳で開いて、以下をコピーすることで行います。
Host github-bcount
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_BCount
そして、設定ファイルを保存します。
cat configコマンドでconfigの中身を確認し、正しく追加されたことを確認することができます。
4. GitHubを置く SSH仓库地址中的[email protected]替换成新建的Host别名
置き換えに関するルール
オリジナルプロジェクトのsshアドレスは
$ [email protected]:A/Demo.git
そうすると、置き換え先のアドレスは
$ github-bcount:A/BestoneGitHub.git
または
$ git@github-bcount:A/Demo.git
具体的に修正したコマンドライン
まず、$ git remote -v で Demo というアドレスのリモートリポジトリに接続しているかどうかを判断し、接続している場合はホスト名を
$ git remote-set-url origin github- bcount:A/Demo.git
その後、$ ssh -T github-bcountコマンドで変更が成功したかどうかを確認することができます。
変更が成功した場合、再度 $ git remote -v コマンドを使用すると、以下のように表示されるはずです。
github github- bcount:A/Demo.git (fetch)
github github- bcount:A/Demo.git (push)
その後、もう一度コミットプロジェクトを行うなどすれば、問題ありません。
それでもうまくいかない場合は、次のステップとして、sshAgentエージェントに鍵を追加してください。
まず、コマンドを実行します。
eval "$(ssh-agent -s)"
次に、キー id_rsa_bcount を追加します。
ssh-add id_rsa_bcount
次に、デフォルトのキーid_rsaを追加します。
$ ssh-add id_rsa
これで大丈夫なはずです。ssh -T [email protected]来看一下密钥isa是否连接成功github或者$ ssh -T git@github-bcount でキー id_rsa_bcount が github に正常に接続できるかどうかテストできます。
これが正しく動作すれば、うまくいくはずです。
関連
-
[解決済み】マークダウンの上付き文字(Github風味)?
-
Gitは、"このリポジトリで別のgitプロセスが実行されているようです... "と表示されます。問題解決
-
[解決済み】GitHubからコードをダウンロードするのは安全ですか?[クローズド]
-
[解決済み] Githubのためのマークダウンのコードブロックとネストされた箇条書き
-
[解決済み] GitHub Markdownのテーブルにチェックボックスやティックマークを描くには?
-
[解決済み] このgithubのプロジェクトを自分のPCで実行し、コンパイルするにはどうすればよいですか?
-
undefinedGit-- ! [却下] master -> master (フェッチファースト) issue
-
git exception error fatal: Couldn't find remote ref master
-
git push がエラー fatal で失敗する: git リポジトリに表示されない リモートリポジトリから読み込めない
-
DS_Store をグローバルに無視するように gitignore を設定する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】GitHub: ユーザー名またはパスワードが無効です。
-
[解決済み】GitHub - エラー: '[email protected]:myrepo.git' へのいくつかの参考文献のプッシュに失敗しました。
-
[解決済み】GitHubのページが更新されない
-
[解決済み] Jenkins が github でステータスコード 128 を返した
-
[解決済み] Cygwin用のGitをインストールするには?
-
[解決済み] codeload.github.comはapi.github.comとどう違うのですか?
-
[解決済み] githubに突然プッシュできない
-
[解決済み] GitHub リポジトリをクローンする際の SourceTree に関する問題点
-
[解決済み] オープンソースプロジェクトにおける/distディレクトリの意味は何ですか?
-
git push reports errorsUpdates were rejected because because the remote contains work that you do