在我需要调用的脚本中git archive
,该脚本依次调用ssh
:
git archive master [email protected]:path/repo.git file
\_ /usr/bin/ssh [email protected] git-upload-archive 'path/repo.git'
我需要使用参数调用 ssh -o ConnectTimeout=1 -o ConnectionAttempts=1
,但只需一次(我无法更改 git 或 ssh 的配置)
我该如何修改git archive
命令行来执行此操作?
答案1
环境变量允许您使用备用命令和参数GIT_SSH_COMMAND
覆盖默认的 SSH 应用程序( )。ssh
例如,就您的情况而言,您将需要使用:
export GIT_SSH_COMMAND="ssh -o ConnectTimeout=1 -o ConnectionAttempts=1"
git archive master [email protected]:path/repo.git file
还有一个GIT_SSH
环境变量允许您指定备用命令(无参数),因此如果您需要多次执行此操作,则可以使用脚本:
echo '#!/bin/bash -eu' > ./my_ssh
echo 'ssh -o ConnectTimeout=1 -o ConnectionAttempts=1 "${@}"' >> ./my_ssh
chmod +x ./my_ssh
export GIT_SSH="./my_ssh"
git archive master [email protected]:path/repo.git file