2013-07-07 44 views
0

我在找的等效git。但我实际上只想导出一个subdir。我的结构是这样的:如何从git分支中导出subdir

/db 
/html 
/tools 
... 

我想只导出/html目录中的回购,从给定分支(假设master)对FS但没有内部.git迪尔斯一些目录下省略文件.gitignore文件。理想的情况是这样的:

cd my_repo_dir 
git export master/html/* /var/www/my_website_docroot 

我能做到这一点,怎么样?

+1

http://stackoverflow.com/questions/4479960/git-checkout-to-a-specific-folder – nif

+0

感谢的人,我将迎来关闭的复制! – ddinchev

+0

还有http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export。另外,作为选项,您可以随时导出整个回购,然后删除您不需要的所有内容。 – 2013-07-07 20:16:36

回答

0
git checkout-index -f --prefix=/path/to/folder/ html/* 
+0

这对于'html/*'中的每个子目录都是“not in cache”。 – ddinchev

+0

这是一个低级命令,所以它没有处理子目录的递归选项。您必须自己找到所有子目录中的所有文件并将其传递给命令,例如'找到html/-type f | git checkout-index -f --prefix =/path/to/folder/--stdin' – nif

+0

@Veseliq,如果git不能识别html目录,则会发生这种情况.add并提交所有内容,然后尝试 –