您不必再在 Windows 中设置环境变量。
使用 git 2.10+(2016 年第 3 季度),您还可以设置config for GIT_SSH_COMMAND
,这比环境变量更容易(并且可以全局设置,也可以针对特定存储库进行本地设置)
See commit 3c8ede3 (26 Jun 2016) by Nguyễn Thái Ngọc Duy (pclouds).
(Merged by Junio C Hamano -- gitster -- in commit dc21164, 19 Jul 2016)
新的配置变量core.sshCommand
已添加到
指定每个存储库使用的 GIT_SSH_COMMAND 值。
core.sshCommand:
如果设置了这个变量,git fetch
and git push
将使用指定的命令而不是ssh
当他们需要连接到远程系统时。
该命令的形式与GIT_SSH_COMMAND
环境变量,并且在设置环境变量时被覆盖。
这意味着git push
can be:
cd /path/to/my/repo
git config core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
# later on
git push origin master
在 Git 2.16(2018 年第一季度)中,您将拥有一种新的机制来升级有线协议,并证明它可以与旧版本的 Git 配合使用,而不会对其造成损害。
See commit 6464679 (16 Oct 2017), and commit 0cd8328 (26 Sep 2017) by Jonathan Tan (jhowtan).
See commit 94b8ae5, commit 3c88ebd, commit 19113a2, commit 0c2f0d2, commit 2609043, commit aa9bab2, commit dfe422d, commit 373d70e, commit 5d2124b (16 Oct 2017) by Brandon Williams (mbrandonw).
(Merged by Junio C Hamano -- gitster -- in commit 4c6dad0, 06 Dec 2017)
ssh
: 介绍一个'simple
'ssh 变体
当使用 'ssh
'运输,'-o
' 选项用于指定
应在远程端设置的环境变量。
这允许 Git 在联系服务器时发送附加信息,
通过请求使用不同的协议版本
'GIT_PROTOCOL
' 环境变量如下:“-o SendEnv=GIT_PROTOCOL
".
不幸的是,并非所有 ssh 变体都支持发送环境信息
变量到远程端。
为了解决这个问题,仅使用 '-o
' 与 OpenSSH 兼容的 ssh 变体的选项。
这是通过检查 ssh 命令的基本名称是否为“来完成的”ssh
' 或者 ssh 变体被覆盖为 'ssh
”(通过ssh.variant
配置)。
其他选项如'-p
' and '-P
',用于指定特定的
要使用的端口,或 '-4
' and '-6
',用于表示 IPV4 或
应该使用IPV6地址,也可能不是所有ssh都支持
变体。
目前,如果 ssh 命令的基本名称不是 'plink
' or
'tortoiseplink
',Git 假定该命令是 OpenSSH 变体。
由于用户配置的 ssh 命令可能不兼容 OpenSSH,因此请收紧
这个约束并假设 ' 的变体simple
' 如果的基名
命令与 Git 已知的变体不匹配。
新的 ssh 变体 'simple
' 将只有主机和要执行的命令([username@]host
命令)作为参数传递给ssh
命令。