[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?
答案1
- 把你的公钥放到github.com
- 用于识别公钥是否有效
ssh -T [email protected]
- 在你的仓库下,
git remote set-url origin [email protected]:<user>/<project>.git
git push
答案2
我已经写了一个 git 包装函数:
function gc {
if [[ ${1} =~ "github.com" ]] && [[ ${1} =~ "https" ]]; then
git clone ${${1/https:\/\//git@}/\//:} ${@:2}
else
git clone ${@}
fi
}
答案3
根据您自己的链接,它似乎不受支持,我想您可以在 .bashrc 中编写一个小函数以 git 风格重写远程。