【发布时间】:2017-02-08 21:26:21
【问题描述】:
我有一台服务器,我将数据推送到这需要我在 git-ftp 命令末尾添加--disable-epsv。这当然是一个例外,所以我经常忘记它。有没有办法在配置文件中设置它,所以它总是为我这样做?
假设没有办法做到这一点,使用 linux,我们是否可以编写一个别名,让我们覆盖命令说“git-ftp”以自动写入“git-ftp %s --disable-epsv”?
【问题讨论】:
我有一台服务器,我将数据推送到这需要我在 git-ftp 命令末尾添加--disable-epsv。这当然是一个例外,所以我经常忘记它。有没有办法在配置文件中设置它,所以它总是为我这样做?
假设没有办法做到这一点,使用 linux,我们是否可以编写一个别名,让我们覆盖命令说“git-ftp”以自动写入“git-ftp %s --disable-epsv”?
【问题讨论】:
Sasha Khapyorsky 于 2006 年 9 月在 commit 3ea099d 中为 Git 1.4.3-rc1 引入了该选项,并附有以下评论:
如果
http.noEPSV配置变量已定义且为真,或者如果GIT_CURL_FTP_NO_EPSV环境变量已定义,禁用使用 EPSV ftp 命令(将使用PASV)。
这对于一些不支持 EPSV 模式的“差”的 ftp 服务器很有帮助。
所以您有两个选择:配置或环境变量。
配置http.noEPSV 仍然提到今天(2017 年):
一个布尔值,它禁止
curl使用 EPSV ftp 命令。
这对于一些不支持 EPSV 模式的“差”的 ftp 服务器很有帮助。
可以被GIT_CURL_FTP_NO_EPSV环境变量覆盖。
默认为 false(curl 将使用EPSV)。从某个目录
如果您可以将其限制为一个 repo,那么本地配置就足够了:
cd /path/to/where/espv/must/be/disabled
git config http.noEPSV true
【讨论】: