Git - 从repo中检出单个目录 - 错误:pathspec [目录路径]与git已知的任何文件都不匹配

时间:2015-08-05 04:10:13

标签: git github

我正在尝试有效地检查服务器上larger git repo hosted on Github内的目录及其内容(特定的wordpress主题目录)。服务器中有现有的WordPress目录,我想将新的主题目录从repo放到服务器上的正确目录中。我首先尝试了an accepted answer中描述的方法来解决类似的问题。当我跑下面的线时,

[scapa]$ git fetch git@github.com:mrengy/new-urban-arts.git

我收到了错误:

  

致命:不是git存储库(或者是挂载父级的任何父级)   停止在文件系统边界(未设置GIT_DISCOVERY_ACROSS_FILESYSTEM)。

所以我跑了:

[scapa]$ git init
Initialized empty Git repository in /home/newurbanarts/stage.newurbanarts.org/.git/
[scapa]$ git remote add origin git@github.com:mrengy/new-urban-arts.git

现在我跑(as per the accepted answer)时:

[scapa]$ git fetch origin master    
[scapa]$ git checkout origin/master -- wp-content/themes/newurbanarts

我明白了:

  

错误:pathspec'wp-content / themes / newurbanarts'与git已知的任何文件都不匹配。

我做错了什么,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

所以在评论中来回反复思考后,我认为我们已经找到了解决方案。

事实证明,GIT确实支持只检查给定存储库的子树的概念,通过一个名为“稀疏结账”的过程,您可以找到有关here的更多信息。

这个概念是初始化一个新的,干净的git存储库,添加你的遥控器,打开设置'core.sparsecheckout',最后检查你的文件夹。