如何在服务器上运行不同版本的git?

如何在服务器上运行不同版本的git?,git,version,Git,Version,我在一台服务器上有一个git存储库,它有一个旧版本的git(1.7.1)。我需要一个仅在git 2.3中可用的功能,即我要运行以下命令: git config receive.denyCurrentBranch updateInstead 与系统管理员交谈后,他们在服务器上的不同位置安装了最新版本的git(2.27.0)。使用这个较新的版本,我能够为存储库运行上面的命令 但是,每当我从本地计算机推送到服务器时,都会收到以下错误消息: fatal: bad config value for 'r

我在一台服务器上有一个git存储库,它有一个旧版本的git(1.7.1)。我需要一个仅在git 2.3中可用的功能,即我要运行以下命令:

git config receive.denyCurrentBranch updateInstead
与系统管理员交谈后,他们在服务器上的不同位置安装了最新版本的git(2.27.0)。使用这个较新的版本,我能够为存储库运行上面的命令

但是,每当我从本地计算机推送到服务器时,都会收到以下错误消息:

fatal: bad config value for 'receive.denycurrentbranch' in ./config
fatal: Could not read from remote repository.
这似乎表明,当我将推送到服务器时,服务器默认运行旧版本的git。有没有办法告诉服务器从不同的exec路径运行git?跑步时

git --exec-path=/path/to/new/git/env

我遇到了一些奇怪的错误,比如git忽略了
exec路径之后的所有内容,或者完全忽略了所有标志。我不确定
--exec path
标志是否是解决此问题的正确方法。

您需要指定新的/


这将是一个很好的开始,可以确保git推/拉对话与正确的git进行。

这个问题已经得到了回答。
cd /path/to/local/repo
git config remote.origin.uploadpack /path/to/new/git/usr/bin/git-upload-pack
git config remote.origin.receivepack /path/to/new/git/usr/bin2/git-receive-pack