2013-08-04 20 views
14

C'è un modo per impostare la variabile di ambiente GIT_SSH nel file gitconfig?Imposta variabile ambiente GIT_SSH in Gitconfig

+1

Cosa si desidera inserire nella variabile GIT_SSH? Alcune impostazioni possono anche essere fatte in ~/.ssh/config. –

+1

Nel mio caso, di solito uso PuTTY per gestire Git, in quanto è abbastanza compatibile e ha un solido agente SSH. Tuttavia, alcuni repository Git che uso hanno un login interattivo e PuTTY non gestisce questo. Per quelli, ho bisogno di usare il client SSH che Git per Windows è venuto con. Preferirei impostare 'GIT_SSH' nella configurazione per-repo. – Brad

risposta

4

Da my 2013 answer (Git 1.8.3.4), una nuova configurazione è stata impostata: core.sshCommand

Se questa variabile è impostata, git fetch e git push userà il comando specificata anziché ssh quando hanno bisogno di connettersi un sistema remoto.
Il comando è nella stessa forma della variabile di ambiente GIT_SSH_COMMAND ed è sovrascritto quando la variabile di ambiente è impostata.

E 'stato introdotto in Git 2.10, commit 3c8ede3, June 2016

Da allora, avete Git 2.13, commit dd33e077, Feb. 2017, che ha ssh.variant

A seconda del valore delle variabili d'ambiente GIT_SSH o GIT_SSH_COMMAND, o l'impostazione della configurazione core.sshCommand, Git rileva automaticamente se regolare i parametri della riga di comando per l'uso con plink o tortoiseplink, al contrario del valore predefinito (OpenSSH).

La variabile di configurazione ssh.variant può essere impostata per ignorare questo rilevamento automatico; valori validi sono ssh, plink, putty o tortoiseplink.
Qualsiasi altro valore verrà considerato come normale ssh. Questa impostazione può essere sovrascritta tramite la variabile di ambiente GIT_SSH_VARIANT.


Per quelli, ho bisogno di utilizzare il client SSH che Git per Windows è venuto con

Così, per i pronti contro termine in cui è necessario ssh invece di stucco, è possibile utilizzare entrambe le impostazioni per impostare esattamente nella configurazione cosa desideri.

cd /path/to/my/repo 
git config ssh.variant ssh 
7

GIT_SSH non è indicato nello git config man page.

"Git clone with custom SSH using GIT_SSH error" descrive come passare l'opzione a GIT_SSH, ma illustra che non fa parte di una configurazione di repo git.

+0

Grazie per il tuo aiuto! C'è un altro modo per automatizzare l'impostazione della variabile d'ambiente GIT-SSH come gitconfig sarebbe se l'opzione esistesse? – voltair

+1

@voltair su unix, sarebbe in your.profile o your.bashrc. Su Windows, verrebbe registrato nelle variabili di ambiente dell'utente. – VonC

Problemi correlati