当前位置: 首页 > 知识库问答 >
问题:

对于新的存储库,如何使git默认为ssh而不是https

西门山
2023-03-14

这些天,当我在GitHub的设置页面上创建新存储库时,我得到:

git remote add origin https://github.com/nikhilbhardwaj/abc.git
git push -u origin master

无论何时我必须推送提交,我都需要输入我的GitHub用户名和密码。

我可以手动将其更改为

git@github.com:nikhilbhardwaj/abc.git

中。git/config。我觉得这很让人恼火——有没有什么方法可以将git配置为默认使用SSH?

共有3个答案

越季萌
2023-03-14

特雷弗提供的回答是正确的。

但是下面是您可以直接添加到您的. gitconfig中的内容:

# Enforce SSH
[url "ssh://git@github.com/"]
  insteadOf = https://github.com/
[url "ssh://git@gitlab.com/"]
  insteadOf = https://gitlab.com/
[url "ssh://git@bitbucket.org/"]
  insteadOf = https://bitbucket.org/
海宁
2023-03-14

>

git config --global url.ssh://git@github.com/.insteadOf https://github.com/

比特桶

git config --global url.ssh://git@bitbucket.org/.insteadOf https://bitbucket.org/

这告诉git在连接到GitHub/BitBucket时总是使用SSH而不是HTTPS,因此默认情况下,您将通过证书进行身份验证,而不是提示输入密码。

澹台玉石
2023-03-14

GitHub存储库设置页面只是一个建议的命令列表(GitHub现在建议使用HTTPS协议)。除非你有GitHub网站的管理权限,否则我不知道有什么方法可以改变他们建议的命令。

如果您更愿意使用SSH协议,只需添加一个类似这样的远程分支(即使用此命令代替GitHub建议的命令)。要修改现有分支,请参见下一节。

$ git remote add origin git@github.com:nikhilbhardwaj/abc.git

如您所知,要将预先存在的存储库切换为使用SSH而不是HTTPS,您可以在中更改远程url。git/config文件。

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    -url = https://github.com/nikhilbhardwaj/abc.git
    +url = git@github.com:nikhilbhardwaj/abc.git

快捷方式是使用设置url命令:

$ git remote set-url origin git@github.com:nikhilbhardwaj/abc.git
  • “为什么Git总是询问我的密码?”-GitHub帮助页面
 类似资料:
  • 我学习了关于GIT的vogella教程,第17节练习“使用(本地)远程存储库”。在执行步骤17.3时,我得到了这个错误: 执行的步骤是: 原因会是什么呢?

  • 问题内容: 我刚安装了python 2.7,并且还安装了2.7站点包。 当我得到的版本: 表明: 如何使用位于以下位置的2.7版本的pip: 问题答案: $ PATH变量中的某个位置应安装一个名为“ pip2.7”的二进制文件。 您可以通过键入以下内容找到答案 这应该在您的标准输出上打印“ /usr/local/bin/pip2.7”之类的内容。如果它不打印任何类似内容,则表示未安装。在这种情况下

  • 我有两个存储桶,一个来自谷歌云存储,一个由firebase创建,firebase创建的存储桶是默认的,我想更改默认的存储桶并删除firebase创建的存储桶。

  • 问题内容: 使用jersey jersey.java.net当URI中没有接受标头或.xml后缀时,如何将JSON设置为默认序列化而不是XML? 问题答案: 您可以在@Produces批注中为每种媒体类型分配质量索引。如果可以同时允许XML和JSON,则可以执行以下操作以使Jersey偏爱JSON:

  • 我花了过去的一天,试图找到一个解决办法,但没有找到任何在线资源,解决了这个问题。 我使用Gson为我的应用程序进行消息转换,它在单元测试之外工作得很好。我甚至添加了bean以优先于Jackson而不是将配置值写入。这只在运行应用程序时起作用。 现在我的问题是,如何使用的Gson序列化/反序列化?我有一个带有批注的类,它的值与实际名称不同。我最接近找到答案的是下面的一个,但没有任何帮助: https

  • 我在我的Github帐户上有一个存储库,我从官方存储库中派生了这个存储库。 然后我在我的本地机器上克隆了它。它工作得很好。我创建了几个分支(在分支下)。我做了几次提交,它工作得很好。 当我这样做时,我不知道我是如何得到以下错误的: 如何在不影响Github上的存储库的情况下解决此错误? 我正在使用 我的<代码>的内容。git/config在执行cat$(git rev parse-show top