如何将文件从一个代码项目复制到另一个
时间:2020-03-06 15:04:41 来源:igfitidea点击:
我有一个项目的多个分支签出,每个分支都在各自的目录下(相当标准)。
src / branch1 / some / code / directories
src / branch2 / some / code / directories
我经常发现自己想要将所选文件从一个分支复制到另一个分支。一个示例是复制cvsignore文件或者intellij模块文件。我要执行的伪命令是"将匹配PATTERN的branch1下的所有文件复制到branch2,保留复制文件的相对路径"。
这个问题看起来很接近我在寻找什么,但是我需要OS X / linux / unix解决方案。
解决方案
在branch1目录中使用这样的" cp -r --parents"命令
find . -name ".cvsignore" -exec cp -r --parents {} ../branch2/ \;
或者
在src /目录中时,运行此脚本。我们可以根据需要从命令行参数获取变量。
SOURCE="branch1/" TARGET="branch2/" PATTERN=".cvsignore" find $SOURCE -name $PATTERN | while read f ; do FILEPATH=$(dirname $f | cut -d'/' -f2-) FILENAME=$(basename $f) DESTPATH=$TARGET/$FILEPATH; if [ ! -d $DESTPATH ] then mkdir -p $DESTPATH fi cp $f $DESTPATH done