如何将到GitHub的连接从SSH更改为HTTPS?
我昨天在GitHub中创建了我的第一个存储库。在建立连接时,我使用SSH而不是HTTPS,因此我经历了一个痛苦的SSH密钥创建和连接过程。在某个时候,我被卡住了,连接失败了。在那一刻,我想知道如何恢复我启动的流程,并以HTTPS连接开始。令人高兴的是,今天我通过SSH实现了连接,但我想知道能够更改连接类型(SSH与HTTPS)的价值,以及是否有办法做到这一点。假设您的远程设备被称为如何将到GitHub的连接从SSH更改为HTTPS?,git,github,ssh,https,git-remote,Git,Github,Ssh,Https,Git Remote,我昨天在GitHub中创建了我的第一个存储库。在建立连接时,我使用SSH而不是HTTPS,因此我经历了一个痛苦的SSH密钥创建和连接过程。在某个时候,我被卡住了,连接失败了。在那一刻,我想知道如何恢复我启动的流程,并以HTTPS连接开始。令人高兴的是,今天我通过SSH实现了连接,但我想知道能够更改连接类型(SSH与HTTPS)的价值,以及是否有办法做到这一点。假设您的远程设备被称为源站,请运行 git远程设置url源https://... git远程设置url--推送源https://...
源站,请运行
git远程设置url源https://...
git远程设置url--推送源https://...
您可以使用git remote-v
查看已配置的远程设备,它现在应该会显示更新的URL
有关更多详细信息,请参阅。以下是一些别名(OneLiner),用于将您的回购协议从ssh切换到https并返回。假设您的默认遥控器名为origin
,而您的遥控器名为github.com
alias git-https="git remote set-url origin https://github.com/$(git remote get-url origin | sed 's/https:\/\/github.com\///' | sed 's/git@github.com://')"
alias git-ssh=" git remote set-url origin git@github.com:$( git remote get-url origin | sed 's/https:\/\/github.com\///' | sed 's/git@github.com://')"
它们比使其幂等所需的时间长了一点如果要将本地修改推送到,最好保持ssh连接。阅读一些ssh教程,并配置私钥和公钥,以避免多次键入密码。@BasileStarynkevitch,ssh和HTTPS连接都可用于将推送到GitHub(和许多其他主机)。我通常通过文本编辑.git/config
文件,而不是git remote set url
。你只需要在一些repo服务器上观察两者的不同url结构。我经常使用https作为获取url,ssh作为推送url,优点是我不需要为随机获取解锁ssh密钥。文档说:使用--Push,推送url被操纵,而不是获取url。
但是什么是推送url
呢?谢谢。这是一个适用于非github.com和路径中有或没有前导/
的url的版本:git remote set url origin$(git remote get url origin | sed's/^git@(.*):\/*\(.*)。git/https:\/\/\1\/\2.git/')