如何用git checkout仅复制分支中指定文件夹的内容?
仅复制指定文件夹内的内容到当前分支的Git方法
可行,你可以通过以下两种方式实现只复制TestToCopy文件夹内的内容,而不是整个文件夹本身:
方法一:使用git checkout配合通配符
- 执行命令:
git checkout origin/TestBranch -- TestToCopy/* - 效果:将
TestBranch分支中TestToCopy文件夹下的所有内容(含子文件夹、文件)直接复制到当前分支的当前工作目录,不会创建外层的TestToCopy文件夹。 - 注意:Windows系统下可能需要替换为
TestToCopy\*,或在Git Bash/PowerShell环境下执行原命令。
方法二:用git archive提取内容
- 执行命令:
git archive origin/TestBranch:TestToCopy | tar -x -C . - 效果:把
TestBranch分支里TestToCopy文件夹内的所有内容直接解压到当前工作目录,同样不会包含外层文件夹。 - 注意:Windows环境下若无
tar工具,可通过Git Bash执行该命令。
额外提示
- 执行操作前,确认当前目录无同名文件/文件夹,避免覆盖;如有需要先做好备份。
- 上述操作仅修改工作区和暂存区,需手动执行
git add和git commit提交更改。
内容的提问来源于stack exchange,提问作者Oubayda Samrouth
相关产品推荐
相关产品推荐

