Passando opções de SSH para o git-clone

7

Eu conecto ao meu servidor usando o SSH:

ssh user@server -p 2224 -zZ abcd

Eu também tenho um repositório git no meu servidor. A única maneira que sei clonar é:

git clone ssh://[email protected]:2224/path/to/repo

Usando o comando acima, não consigo me conectar ao servidor porque -zZ abcd não está no comando. Eu tentei os seguintes comandos, mas não funciona.

git clone ssh://[email protected]:2224/path/to/repo -zZ abcd

git clone "ssh://[email protected]:2224/path/to/repo -zZ abcd"

Como posso incluir parâmetros ssh no comando git-clone ?

    
por hknik 10.03.2012 / 20:45

3 respostas

5

Você pode configurar opções de configuração para salvar a digitação; então, depois

$ cat >>.git/config <<EOF
[remote "myrepo"]
    url = ssh://[email protected]:2224/path/to/repo -zZ abcd
EOF

use apenas git clone myrepo

Veja as explicações das opções remote.url em git config para detalhes.

    
por 10.03.2012 / 21:01
3

Outra possibilidade é definir opções ssh por host. Isso pode ser bom quando você quer que as opções do ssh funcionem para todos os comandos ssh e não apenas para o git. Estas opções vão em ~ / .ssh / config e são documentadas em man ssh_config . Por exemplo, ~ / .ssh / config pode incluir algo como:

Host server.com
Compression "yes"
ConnectTimeout 4
GlobalKnownHostsFile /path/to/hosts_file
    
por 15.03.2012 / 03:05
0

Se você usa regularmente um repositório, deve fazê-lo usando .ssh/config , como diz a amcnabb, lembre-se que .ssh/config permite criar aliases para opções de configuração ou .git/config , se isso for inadequado por algum motivo.

Se, no entanto, você precisar transmitir ssh opções de configuração realmente transitórias, como porque você está preso em um wi-fi do aeroporto que bloqueia ssh , adapte minhas instruções habituais para ssh over tor :

Instale connect no seu caminho, talvez construindo connect.c da fonte

Crie um script chamado git-tbb :

#!/bin/bash
export CONNECT_PASSWORD=""
exec ssh -o ProxyCommand="connect -5 -S 127.0.0.1:9150 %h %p" $*

Crie um script chamado git-tbb

#!/bin/bash
export GIT_SSH='which ssh-tbb' git pull
exec git $*

Renomeie-os para -tor se você alterar a porta para 9050 para a configuração padrão do tor, em oposição ao 9150 padrão do TBB.

    
por 29.10.2014 / 02:11