Docker镜像git clone错误“致命:不是git仓库”

时间:2018-04-15 21:24:37

标签: git macos docker github

我有一个Docker镜像,它应该从git存储库中提取repo(关于令牌的提示来自pretty similar question

  1. 如果我在Dockerfile中使用

    运行git clone https://TOKEN@github.com/company/project.git /文件夹

  2. 然后它工作正常。

    1. 如果我尝试将克隆过程放入单独的文件中:Dockerfile:

      CMD [“/update.sh”]

    2. update.sh:

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

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

        

      致命:不是git存储库(或任何父目录):。git

      我的google-fu能够找到的所有答案都是关于“我正在接受致命:运行git pull时不是git存储库” - 如果你从错误的目录中拉出来这是有道理的。但在我的情况下,git clone会产生“致命:不是git存储库”错误,这是非常令人困惑的。

1 个答案:

答案 0 :(得分:2)

两件事:

  1. 您需要使用-d代替-f,因为.git是目录而不是文件
  2. 你有if和else条款。现在,当.git 不存在时,如果您确实要克隆它,那么当您.git存在时,您正尝试克隆git存储库。