Githubは実際にHTTPSプロトコルを使用してGistsを使用することを望んでいるようです。たとえば、GistページにHTTPS URLのみをリストします。 https://Gist.github.com/donatello/5834862
SSHプロトコルを使用してGistのクローンを作成することはできますか?
https://help.github.com/articles/which-remote-url-should-i-use#ssh-readwrite---gitgithubspanspancom
git @ .....はsshプロトコルです
gistのクローンURLをコピーすると、httpsクローンURLが表示されます
https://Gist.github.com/5834862.git
変化する https://
からgit@
および/****.git
から:****.git
この場合
git clone [email protected]:5834862.git
Gistページのドロップダウンに、埋め込み/共有/クローンHTTPS /クローンSSHオプションが追加されました。
これは非自明なトリックを示していますユーザー名の省略:
HTTPSのクローン:https://Gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git
.git
の有無にかかわらず、ユーザー名:https://Gist.github.com/cben/b6f4a53fac485f75afb9150d03efb2f6
の有無に関係なく動作します(githubでは通常どおり、正規のブラウジングURLはgitでも機能します)
SSHのクローン:[email protected]:b6f4a53fac485f75afb9150d03efb2f6.git
AKAssh://[email protected]/b6f4a53fac485f75afb9150d03efb2f6.git
.git
の有無にかかわらず動作しますが、ユーザー名では動作しません。
HTTPSが苦痛になるgithub 2FAを有効にしたので、常にSSHが必要です。次の~/.gitconfig
は、Pushのすべての要点を翻訳します。
[url "ssh://[email protected]/"]
# In case I just copy-pasted with username:
# [only works for my (cben) gists, but those are the ones I can Push]
pushInsteadOf = https://Gist.github.com/cben/
# For gists cloned with official no-username URL:
pushInsteadOf = https://Gist.github.com/
そして、定期的な(非Gist)リポジトリの場合:
[url "ssh://[email protected]/"]
pushInsteadOf = https://github.com/
[url "ssh://[email protected]/"]
pushInsteadOf = https://bitbucket.org/
[url "ssh://[email protected]/"]
pushInsteadOf = https://gitlab.com/
追伸insteadOf
およびpushInsteadOf
構成をデバッグする便利な簡単な方法はgit remote -v
を実行し、fetch/Pushが使用する有効なURLを示します。
必要に応じて、 this スクリプトを取得し、$PATH
のどこかに配置できます。それが完了すると、次のことができます。
HTTPS
を使用してGist.github.com
からGistを複製します(または既に複製されたGistがある場合は、次の手順に進みます)git-change-url --to-ssh
ここで、公開鍵がgithubアカウントにアップロードされている場合( here をリストする必要があります)、Gitを入力することなく、SSH
を介してGistを操作できるはずです。資格情報。
Git configファイルを手動で編集するよりもエラーが発生しにくい。
Ps:スクリプトにバグを見つけたり、追加する必要がある場合は、お気軽にフォークしてください:D
それが機能するためには、パスからユーザー名を削除し、ハッシュ/数字のみを残さなければなりません。
変化する https://
からssh://git@
トリックを実行する必要があります、つまり、変更
https://Gist.github.com/donatello/5834862
に
ssh://[email protected]/donatello/5834862
そう git clone ssh://[email protected]/...
プロジェクトを複製する必要があります(Githubに既にSSHキーを追加している場合)
私個人の意見では、 公式文書 はSSHについて不明確です。
可能です、これを試してください:
git clone git@YOURSSHHOST:YOURGISTIDHERE.git