git submodule update - 为什么来自toplevel

时间:2014-02-18 14:05:43

标签: git git-submodules

我一直对此感到困惑:

$ git submodule
You need to run this command from the toplevel of the working tree.

为什么我需要从顶级目录运行它?这是技术原因,还是仅仅因为一个惯例/可能的缺陷?

1 个答案:

答案 0 :(得分:2)

注意:自git 1。8。4(2013年8月)和commit 091a6eb以来,您无需在顶层运行git submodule update
这是因为git rev-parse有一个新的--prefix选项。

--prefix <arg>
  

表现得好像从工作树的<arg>子目录调用了git rev-parse。
  任何相对文件名都会被解析为好像它们以<arg>为前缀,并将以该格式打印。

git submodule add as well也存在同样的限制。