git - 需要 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 时一样?
解决方案
推荐阅读
- r - colMeans(x, na.rm = TRUE) 中的错误:“x”必须是数字 - - 为什么?
- verilog - Verilog Dataflow 测试平台的问题导致不同站点上的不同错误
- ios - NSTimer 自动启动图像幻灯片的问题
- javascript - Vue如何对表单数据进行分组
- javascript - 将网络摄像头视频渲染到画布时超出最大调用堆栈大小
- html - 基于当前页面的 HTML Wrapper 状态更新
- swift - 类型“String._CharacterView.Index”(又名“String.Index”)不符合协议“FixedWidthInteger”
- python - 【Django】在一个模型中编写所有表定义是不好的做法吗?
- python - ValueError:模型的特征数量必须与输入匹配。模型 n_features 为 356,输入 n_features 为 164
- regex - 如何在 Mushclient 中将任何房间描述与正则表达式匹配