Eu recorri a escrever uma função de wrapper git:
function gc {
if [[ ${1} =~ "github.com" ]] && [[ ${1} =~ "https" ]]; then
git clone ${${1/https:\/\//git@}/\//:} ${@:2}
else
git clone ${@}
fi
}
Eu posso enviar para [email protected]:wting/repo.git
links sem um prompt de senha, pois ele está usando meu ssh-agent. No entanto, quando eu pressiono para https://github.com/wting/repo.git
, ele sempre pede nome de usuário e senha.
O problema pode ser aliviado com o uso do cache de senhas , mas prefiro não usar isso .
Isso aparece principalmente ao usar os gists porque eles mostram apenas um link https (por exemplo, https://gist.github.com/123.git
). Eu não quero modificar o URL de cada essência que eu clonei para usar a versão [email protected]:123.git
.
Como faço para configurá-lo para que o git use meu ssh-agent ao enviar para um endereço https?
URL relevante: Por que o GitHub recomenda HTTPS sobre SSH?
Eu recorri a escrever uma função de wrapper git:
function gc {
if [[ ${1} =~ "github.com" ]] && [[ ${1} =~ "https" ]]; then
git clone ${${1/https:\/\//git@}/\//:} ${@:2}
else
git clone ${@}
fi
}
Defina-o na sua conta do GitHub.
De acordo com o seu próprio link parece não ser suportado, eu acho que você poderia escrever uma pequena função em .bashrc para reescrever os controles remotos no estilo git.
ssh -T [email protected]
para identificar se a chave pública funciona git remote set-url origin [email protected]:<user>/<project>.git
git push