在git中,导出两个分支中不同的文件,第一个是旧分支,最后一个是新分支

#!/bin/sh



echo '请输入 老的分子 和 新的分支 中间用空格分割!eg:master test'
dt=`date +%Y%m%d%H%M`
FN="/tmp/zzz/$dt"
gitpath='/home/linux/work/svr.git/php.test'
if [ $# -eq 2 ];then
cd $gitpath
#1 out file name  设置输出的宽度为400字符
git diff --stat=400  -r $1 $2|awk '{print $1}' >> $FN.txt
#2 del last line
sed -i '$d' $FN.txt
target="/tmp/zzz/test_code_$1_$2_$dt"
#3 switch to new branch
git checkout $2
#4 export file
/usr/bin/rsync -rltDv --files-from=$FN.txt $gitpath  $target


### tar
cd $FN

ap=`tar -czPf $target/vip_code_$1_$2_$dt.tar.gz  $target`

echo "tar ok!";
else
echo '请输入 老的分子 和 新的分支 中间用空格分割!eg:master test'
fi
echo "tar finish!"


你可能感兴趣的:(git,diff)