如何将文件从一个代码项目复制到另一个
时间: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

