git - 无法从 ubuntu 服务器上的 git 提取最新代码

标签 git ubuntu server

我正在尝试将更改从我的 git 分支 pull 到 Ubuntu 服务器上。出于某种原因,我在尝试 pull 时遇到此错误:

ubuntu@ip-xxx-xx-xx-xx:/var/www/html/prod/dist$ git pull
Username for 'https://github.com': my_name
Password for 'https://my_name@github.com':
remote: Counting objects: 1082, done.
remote: Compressing objects: 100% (96/96), done.
fatal: Unable to create temporary file '/var/www/html/prod/dist/.git/objects/pack/tmp_pack_XXXXXX': Permission denied
fatal: index-pack failed

关于为什么会发生这种情况的任何想法?提前致谢。

最佳答案

您正在执行命令的用户(ubuntu 根据您的提示判断)没有创建相关临时文件的权限。

您可以检查 pack 的当前权限目录通过运行以下命令:

$ ls -ld .git/objects/pack
drwxr-xr-x 2 chuckx chuckx 4096 May 28 22:51 .git/objects/pack

根据结果​​,您可以决定要做什么。一些选项包括:
  • 以具有
  • 权限的用户身份运行命令
  • 递归更改目录的所有权以赋予 ubuntu用户写入权限(即 chown -R ubuntu .git
  • 关于git - 无法从 ubuntu 服务器上的 git 提取最新代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50652674/

    相关文章:

    Nginx 未升级到 Https

    node.js - 变量将在已部署的 Node/express 应用程序中存储多长时间?每个客户都可以使用它吗?

    git - Gist.github 序言语法高亮

    git - 如何在特定分支的 Git 存储库中获取开发人员一天的提交次数

    git - 如何使用 libgit2 将 git 子模块添加到代码中的 super 项目

    java - 在 Ubuntu 中正确设置 java 类路径和 java_home

    Git merge 驱动程序 - 文件属性

    shell - 如何使用软件包列表来确定是否需要在 Ubuntu 20.10 上进行 apt-get update?

    python - 为什么 TravisCI 找不到我的许可证文件?

    javascript - 如何从另一个 Controller 调用 Loopback 4 Controller 方法