git:如何从另一个分支复制目录中的所有文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (248)

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

git ls-tree master:dirname

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

git checkout master -- dirname/filename

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

git checkout master -- dirname/*.png

虽然我想我可以使用bash脚本来完成这个任务,但是必须有一个更简单的方法,对吗?

提问于
用户回答回答于

由于你不想在树中移动文件,所以应该能够签出目录:

git checkout master -- dirname
用户回答回答于

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

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

扫码关注云+社区