gpt4 book ai didi

git - 如何更改用于通过 SSH 接收 git-push 的 git 版本

转载 作者:行者123 更新时间:2023-12-02 02:40:47 26 4
gpt4 key购买 nike

我的目标是在我的笔记本电脑上编写代码,然后推送到 SSH 远程,在那里我可以运行计算量更大的脚本。

[my_laptop]$ git remote -v
my_remote ssh://username@server.com:/home/username/projects/my_project (fetch)
my_remote ssh://username@server.com:/home/username/projects/my_project (push)
origin git@github.com:username/my_project.git (fetch)
origin git@github.com:username/my_project.git (push)

SSH 远程已预装 git 1.7.1 (CentOS),但我想将 git 配置选项 receive.denyCurrentBranch 设置为 updateInstead,这在git 2.3.0.

我在远程服务器上从源代码安装了 git 2.9.5 并设置了一个别名 git=/home/username/bin/git2 我可以验证它是否使用 git 2.9.5。

[server]$ which git
alias git='git2'
~/bin/git2

[server]$ git --version
git version 2.9.5

但是,当我尝试从我的笔记本电脑推送到 Remote 时,我收到“错误的配置值”错误:

[my_laptop]$ git push my_remote my_branch
fatal: bad config value for 'receive.denycurrentbranch' in ./config
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我相信这是因为我的 git push 是用 git 1.7.1 而不是 2.9.5 接收的。

[my_laptop]$ ssh -t username@server.com "git --version"
git version 1.7.1
Connection to server.com closed.

[my_laptop]$ ssh -t username@server.com "git2 --version"
git version 2.9.5
Connection to server.com closed.

如何在 SSH 服务器上将 git 的“默认”版本设置为使用 2.9.5 而不是 1.7.1?我没有服务器的管理员权限。

最佳答案

仅当您服务器上的 sshd(SSH 守护进程)具有 PermitUserEnvironment 时,修改 .bash_profile 中的 PATH 才有效。在 sshd_config , 作为 mentioned here .

设置 remote.<name>.receivepack 看能不能指定receive-pack的路径

git -c remote.origin.receivepack=/home/username/git2/bin/git-receive-pack push my_remote my_branch

关于git - 如何更改用于通过 SSH 接收 git-push 的 git 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59638062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com