2013-08-04 9 views
14

Czy istnieje sposób ustawienia zmiennej środowiskowej GIT_SSH w pliku gitconfig?Zestaw GIT_SSH Zmienna środowiskowa w Gitconfig

+1

Co chcesz umieścić w zmiennej GIT_SSH? Niektóre ustawienia można również wykonać w ~/.ssh/config. –

+1

W moim przypadku zwykle używam PuTTY do obsługi Gita, ponieważ jest on całkiem kompatybilny i ma solidnego agenta SSH. Jednak niektóre repozytorium Git, którego używam, mają interaktywny login, a PuTTY tego nie obsługuje. W tym celu potrzebuję klienta SSH, z którym Git for Windows jest dostępny. Wolę ustawić 'GIT_SSH' w konfiguracji dla każdego repo. – Brad

Odpowiedz

4

Od my 2013 answer (Git 1.8.3.4), nowa konfiguracja została ustawiona: core.sshCommand

Jeżeli ta zmienna jest ustawiona, git fetch i git push użyje określonego polecenia zamiast ssh kiedy trzeba połączyć system zdalny.
Komenda ma taką samą postać jak zmienna środowiskowa GIT_SSH_COMMAND i jest zastępowana, gdy ustawiona jest zmienna środowiskowa.

Został on wprowadzony w Git 2.10, commit 3c8ede3, June 2016

Odtąd masz Git 2.13, commit dd33e077, Feb. 2017, który ma ssh.variant

zależności od wartości zmiennych środowiskowych GIT_SSH lub GIT_SSH_COMMAND lub ustawić config core.sshCommand, Git automatycznie wykrywa, czy dostosować parametry wiersza poleceń do użycia z linkiem lub tortoiseplink, w przeciwieństwie do domyślnego (OpenSSH).

Zmienna konfiguracyjna ssh.variant może być ustawiona tak, aby nadpisywać tę automatyczną detekcję; prawidłowe wartości to ssh, plink, putty lub tortoiseplink.
Każda inna wartość będzie traktowana jako normalny ssh. To ustawienie można przesłonić za pomocą zmiennej środowiskowej GIT_SSH_VARIANT.


Dla tych, muszę używać klienta SSH, że Git dla Windows dołączonej

Tak dla transakcji repo, gdzie trzeba ssh zamiast szpachli, można użyć zarówno ustawienia ustawić dokładnie w konfiguracji, co chcesz.

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

GIT_SSH nie jest wymienione w git config man page.

"Git clone with custom SSH using GIT_SSH error" opisuje, jak przekazać opcję do GIT_SSH, ale pokazuje, że nie jest częścią konfiguracji git repo.

+0

Dzięki za pomoc! Czy istnieje inny sposób zautomatyzowania ustawiania zmiennej środowiskowej GIT-SSH, tak jak w przypadku Gitconfig, gdyby ta opcja istniała? – voltair

+1

@voltair na unixie, byłby w twoim.profile lub your.bashrc. W systemie Windows byłby zarejestrowany w zmiennych środowiskowych użytkownika. – VonC

Powiązane problemy