Git:从另一个分支复制目录中的所有文件

如何从另一个分支复制目录中的所有文件? 我可以通过做这个目录列出所有的文件

git ls-tree master:dirname 

然后,我可以单独复制所有的文件

 git checkout master -- dirname/filename 

但是,使用通配符到目前为止一直是失败的。 这什么都不做:

 git checkout master -- dirname/*.png 

虽然我想我可以使用bash脚本来做到这一点,但是必须有一个更简单的方法,对吧?

由于您不是要在树中移动文件,您应该只能检出目录:

 git checkout master -- dirname 

如果path中没有空格,并且您只对特定扩展名的文件感兴趣,则可以使用

 git checkout otherBranch -- $(git ls-tree --name-only -r otherBranch | egrep '*.java')