如何使用我的 ssh 密钥推送到 GitHub https 存储库?

如何使用我的 ssh 密钥推送到 GitHub https 存储库?

[email protected]:wting/repo.git由于使用 ssh-agent,我可以推送到链接而无需输入密码。但是,当我推送时https://github.com/wting/repo.git,它总是要求输入用户名和密码。

通过使用密码缓存,但我宁愿不使用它。

这主要在使用 gist 时弹出,因为它们仅显示 https 链接(例如https://gist.github.com/123.git)。我不想修改我克隆的每个 gist 的 URL 以使用该[email protected]:123.git版本。

我该如何设置以便 git 在推送到 https 地址时使用我的 ssh-agent?

相关网址: 为什么 GitHub 推荐使用 HTTPS 而不是 SSH?

答案1

  1. 把你的公钥放到github.com
  2. 用于识别公钥是否有效ssh -T [email protected]
  3. 在你的仓库下,git remote set-url origin [email protected]:<user>/<project>.git
  4. git push

答案2

我已经写了一个 git 包装函数:

function gc {
    if [[ ${1} =~ "github.com" ]] && [[ ${1} =~ "https" ]]; then
        git clone ${${1/https:\/\//git@}/\//:} ${@:2}
    else
        git clone ${@}
    fi
}

答案3

在你的 GitHub 帐户中设置它。

根据您自己的链接,它似乎不受支持,我想您可以在 .bashrc 中编写一个小函数以 git 风格重写远程。

相关内容