git - Docker镜像git clone错误 “fatal: Not a git repository”

标签 git macos docker github

我有一个Docker镜像,应该从git仓库中提取仓库(关于 token 的提示来自pretty similar question)

  • 如果我在Dockerfile中使用

    运行git clone https://TOKEN@github.com/company/project.git / folder

  • 然后工作正常。
  • 如果我尝试将克隆过程放入单独的文件中:Dockerfile:

    CMD [“/update.sh”]

  • update.sh:
    if [ -f /folder/.git ]; then
        git clone https://TOKEN@github.com/company/project.git /folder
    else
        git -C /folder pull
    fi
    

    然后我收到一个非常奇怪的错误:

    fatal: Not a git repository (or any of the parent directories): .git



    我的google-fu能够找到的所有答案都是关于“我正在接收致命信息:运行git pull时不是git存储库”-如果您从错误的目录中提取信息,这很有意义。但是在我的情况下,git clone产生“致命的:不是git存储库”错误,这非常令人困惑。

    最佳答案

    两件事情:

  • 您需要使用-d而不是-f,因为.git是目录而不是文件
  • 您的if和else子句向后。现在,当.git不存在时,如果您实际上要克隆gitt_code,那么您正在尝试克隆git存储库。
  • 关于git - Docker镜像git clone错误 “fatal: Not a git repository”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49846931/

    相关文章:

    git - .gitignore 工作错误, checkout 分支时文件消失

    git - 边缘颜色在gitk中意味着什么?

    git - 如何使用 git 真正显示重命名文件的日志

    git - git-rebase 如何识别 "aliased"提交?

    swift - macOS - 使用 NSImageView 以编程方式显示图像

    docker - 使用docker-compose为AWS CodeBuild创建自定义构建镜像

    c++ - 在qt中显示图像的最佳方式是什么?我也想放大特定区域

    SwiftUI macOS - 创建可点击的超链接

    networking - 如何在主机中关联docker容器及其虚拟以太网接口(interface)

    docker - 如何解决docker scan中报告的python3.7 Docker漏洞