私が貢献した OSS プロジェクトが github に移動したことを発見しました。hg-git をインストールし、git:// URL からローカル リポジトリを複製しました。それから私は変更を加えました。
その後、自分の github フォークが本当に必要であることに気付き、作成しました。しかし、既存のローカルリポジトリを切り替える方法を完全に理解することができませんでした. フォークの git:// URL を使用するようにローカル リポジトリの設定を変更しました。しかし、変更をプッシュできません。https:// URL を使用するように指示されていますが、その変更を行うと、プルもプッシュもできません。エラー 406、「受け入れられません」が表示されます。
ローカル リポジトリでの作業は最小限なので、やり直すことはできますが、ローカル リポジトリとフォークが今すぐ接続できれば簡単です。
アップデート
SSHキーを管理できるように、Github for Windowsをインストールしました。キー (github_rsa) を生成し、それを私の Github アカウントに添付しました。
hgrc ファイルを編集[ui]ssh=
し、ローカルの git 'ssh' コマンドを指す設定を追加しました ( に埋め込まれてい%APPDATA%\Local\Github
ます)。
これで、ssh-agent を生成すると思われる「git-shell」ウィンドウに入ると、「hg incoming」などのコマンドを入力でき、接続が確立されます。これで、リモート リポジトリの URL が正しく設定され、git-shell エコシステム内で SSH キーが正しく設定されました。
通常の CMD.EXE ウィンドウから、同じコマンドを実行すると、「許可が拒否されました (公開鍵)」というメッセージが表示されます。TortoiseHg から、「incoming」アクションを試みると同じエラーが表示されます。TortoiseHg を使い続けたいのですが、SSH を使用する方法がわかりません。
最終更新
何らかの理由で、TortoisePlink は github の SSH サーバーを操作したくありません。少なくとも、Github-for-Windows で生成されたキーは操作したくありません。そのため、Github for Windows はまだインストールされています (必ずしも悪いことではありませんが、私がやりたかったことには不要です)。
hg と TortoiseHg を接続するには、プロジェクトの設定を変更する必要がありました。
[ui]
ssh = %USERPROFILE%\AppData\Local\GitHub\<salt>\bin\ssh -i %USERPROFILE%\.ssh\github_rsa
つまり、ポータブル GitHub と共にインストールされた SSH コマンドをポイントし、コマンド ラインで github が生成したキーを指定します。この構成では、ssh-agent を実行する必要はありません。