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

时间:2010-04-19 15:55:03

标签: git file copy branch

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

列出该目录中的所有文件
git ls-tree master:dirname

然后我可以通过

单独复制所有文件
git checkout master -- dirname/filename

然而,到目前为止,使用通配符已经完全失败了。这没有任何作用:

git checkout master -- dirname/*.png

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

2 个答案:

答案 0 :(得分:248)

由于您没有尝试在树中移动文件,您应该只能检查目录:

git checkout master -- dirname

答案 1 :(得分:14)

如果路径中没有空格,并且您感兴趣,就像我一样,只在特定扩展名的文件中,您可以使用

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