2013-08-04 118 views
14

有沒有辦法在gitconfig文件中設置GIT_SSH環境變量?在Gitconfig中設置GIT_SSH環境變量

+1

你想把什麼放到GIT_SSH變量中?一些設置也可以在〜/ .ssh/config中完成。 –

+1

在我的情況下,我通常使用PuTTY來處理Git,因爲它非常兼容並且有一個可靠的SSH代理。但是,我使用的一些Git回購有交互式登錄,PuTTY不處理此問題。對於那些,我需要使用Git for Windows附帶的SSH客戶端。我寧願在config per-repo中設置'GIT_SSH'。 – Brad

回答

4

my 2013 answer由於(GIT 1.8.3.4),一個新的配置已經被設置:core.sshCommand

如果該變量被設置,git fetchgit push將使用指定的命令,而不是ssh當他們需要連接到一個遠程系統。
該命令與GIT_SSH_COMMAND環境變量的格式相同,並且在設置環境變量時被覆蓋。

它已Git 2.10, commit 3c8ede3, June 2016

被引入從此,你有Git 2.13, commit dd33e077, Feb. 2017,其中有ssh.variant

根據環境變量GIT_SSHGIT_SSH_COMMAND,或配置設置core.sshCommand的價值, Git會自動檢測是否調整其用於plink或tortoiseplink的命令行參數,而不是默認的(OpenSSH)。

配置變量ssh.variant可以設置爲覆蓋此自動檢測; 有效值是sshplink,puttytortoiseplink
任何其他值將被視爲正常的ssh。該設置可以通過環境變量GIT_SSH_VARIANT覆蓋。


對於那些,我需要使用的Git的Windows附帶

所以在您需要SSH代替膩子回購SSH客戶端,您可以同時使用設置在你的配置中設置正好你想要什麼。

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

GIT_SSH沒有在git config man page中提及。

Git clone with custom SSH using GIT_SSH error」描述如何將選項傳遞給GIT_SSH,但說明它不是git repo配置的一部分。

+0

感謝您的幫助!如果選項存在,是否有其他方法可以將GIT-SSH環境變量自動設置爲gitconfig? – voltair

+1

@voltair on unix,它會在your.profile或your.bashrc中。在Windows上,它將被註冊在你的用戶環境變量中。 – VonC