我有一个有一些依赖项目的项目。它们在.gitmodules
中定义。我想确保模块是最新的。所以,这就是我在Dockerfile
所做的。
RUN git submodule update --init --recursive
它给了我错误:fatal: Not a git repository (or any of the parent directories): .git
。
目录很好。我在此行之前检查了ls -a
,文件夹是正确的。 git也是最新的(2.11
)。
无论我做什么,它都没有看到.gitmodules
。
你们有什么想法可能导致这个吗?
编辑:以下是Dockerfile
的相关部分
FROM python:3
RUN mkdir -p /usr/src/docker_container
ADD ./ /home/docker_container/
WORKDIR /home/docker_container/my-project
RUN git submodule update --init --recursive && \
mkdir build && cd build && \
cmake .. && cmake --build . && cd ..
文件夹结构如下:
|我的项目:
| --- module1
| --- module2
| ---一些源代码和.gitmodules
文件
你可以这样修改你的命令:
RUN pwd && git submodule update --init --recursive
然后检查输出。
对我来说,错误意味着你不在正确的文件夹中。
要检查它不是子模块问题,您可以尝试运行“git fetch”而我猜你会得到同样的错误。
我希望这可以帮助你。