在阅读Git - git-submodule Documentation之后,我决定将先前项目中的两个文件导入到新项目的根目录中,因为我不想手动同步这两个文件。 但是,当我执行以下命令时会发生错误:
$ git submodule add -b master -f --name latexci -- https://github.com/donizyo/LaTeX-Travis.git .
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
usage: git submodule--helper clone [--prefix=<path>] [--quiet] [--reference <repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>
--prefix <path> alternative anchor for relative paths
--path <path> where the new submodule will be cloned to
--name <string> name of the new submodule
--url <string> url where to clone the submodule from
--reference <repo> reference repository
--dissociate use --reference only while cloning
--depth <string> depth for shallow clones
-q, --quiet Suppress output for cloning a submodule
--progress force cloning progress
我正在使用 Git Bash 2.19.1.windows.1 执行git命令。
答案 0 :(得分:2)
路径(.
)应该是不存在的文件夹,例如Latex-Travis
。
相反,这里的“ .
”被解释为空路径(因为它引用了您的父仓库),如ruby-git/ruby-git
issue 345所示:
实际上已弃用了since Git 2.1.6:
作为pathspec元素的空字符串表示“一切”,即'git add“”',现在是非法的。首先,我们在2.11(2016年11月)中弃用并警告包含此元素的pathspec。
我不知道直接在父级回购文件夹中添加的子模块:我一直习惯将子文件夹添加为父级回购。