我想从另一个符合特定模式的git分支复制所有文件。
答案 0 :(得分:1)
说您需要所有目录中的所有js文件。可以这样完成:
git checkout the-other-branch -- '*/*.js'
这会将所有这些文件放到工作树和中,也准备好要提交的索引,并且与要检出的分支具有 no 关系。 ..您的分支指针不会移动。
答案 1 :(得分:1)
我能够使用创建的bash命令来解决。首先git checkout
您要复制的分支,然后运行以下命令:
git ls-tree -r --name-only <branch> | grep <pattern> | while read line; do git checkout <branch> -- $line; done
首先,这会使用git-ls-tree
列出源分支目录中的所有文件,然后使用grep
来仅筛选与模式匹配的文件。然后使用while循环读取每一行,并使用git checkout
复制文件。