推送时使用的是本地版本还是远程版本的git?

Is the local or remote version of git used when pushing?

Git 2.3.0 添加了对 "push to deploy" 设置的更好支持,使用此选项:

git config receive.denyCurrentBranch updateInstead

我的问题是:是我推送到的服务器,还是我推送的客户端需要 git v2.3.0 才能支持此选项?用于访问推送到存储库的协议是否改变了这一点? (例如 SSH 与 git 协议)

receive.denyCurrentBranchupdateInstead 设置完全在服务器(接收)端实现。只有服务器需要 运行 2.3.0。使用什么协议并不重要。

您只需在服务器端设置 updateInstead(可能不应该在客户端设置)。