Git por meio de https

1

Quando clona um repo com     git clone link ou quando eu empurro para ele com     mestre de origem git push

O Git me pede uma senha, como eu posso fornecer automaticamente a senha, como chaves ssh, por exemplo? Então, isso não me pede mais a minha senha?

Preciso disso por dois motivos:

1) automação, hudson por exemplo

2) Eu sou muito preguiçoso para fornecer isso sempre sozinho

Segunda pergunta (relaciona-se com a primeira)

Por que eles perguntam às vezes duas vezes pela senha?

    
por astropanic 23.03.2011 / 09:49

1 resposta

3

Não há nada como o agente SSH para http, portanto, você precisa fornecer a senha em texto não criptografado. Você pode salvar as credenciais em ~/.netrc :

touch ~/.netrc
chmod 600 ~/.netrc
cat > ~/.netrc <<EOF
machine domain.com
login USERNAME
password SUPERSECRET
EOF

Observe que a senha é salva em texto não criptografado. É menos seguro do que usar chaves SSH criptografadas e o agente ssh, mas o trabalho é feito. Você está basicamente no mesmo nível de segurança de um Subversion padrão na maioria dos sistemas.

Observe que as versões mais recentes do Git (> 1.7.0) fazem um trabalho melhor de armazenamento em cache das credenciais inseridas, portanto, você só precisará inserir sua senha quando estiver lá, se não usar o .netrc .

    
por 23.03.2011 / 11:56