首页 > 解决方案 > 需要 sudo 时执行“git pull”

问题描述

我目前必须在需要从 git 部署项目但我的用户没有写入权限的客户端服务器上工作。我已经要求房东改变这一点,但被拒绝了。所以编写/部署的唯一方法是使用 sudo,这使事情变得棘手。

经过大量搜索后,我想出了如何将 repo 克隆到服务器上,以便它使用我用户的 ssh 密钥,尽管它以 root 身份运行:

sudo SSH_AUTH_SOCK=$SSH_AUTH_SOCK git clone git@gitlab.com:user/project.git .

现在项目已经更新,我需要拉新版本,但找不到这样做的方法。

sudo SSH_AUTH_SOCK=$SSH_AUTH_SOCK git pull git@gitlab.com:user/project.git
[sudo] password for user: 
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights

我尝试过的其他事情也会出现相同的结果,例如:

sudo SSH_AUTH_SOCK=$SSH_AUTH_SOCK git pull
sudo git pull

我需要如何使用 git pull 以便它在使用 sudo 时与我的用户的 ssh 密钥一起使用,就像我使用 git clone 时一样?

标签: gitubuntusshgitlabsudo

解决方案


推荐阅读