1.在Git项目的根目录,鼠标右键 Git Bash Here,打开Git Bash窗口
 

 
2.执行 ./git-package_.sh “2020-11-20 08:00:00” , 日期为上次打包文件的日期
 

 
3. git-package_.sh 脚本如下(需要根据自身的 Tomcat 项目部署路径修改变量 web_dir 注意路径最后不要有 “/” ):
 
#!/bin/bash
git_files=(`git log --pretty=format:"" --name-only --since="$1" `);
res_files="";
repeat_files=();
ignore_files=( shopxx.xml shopxx.properties pom.xml );
web_dir="/c/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/shopxx-b2b2c"
work_dir=$PWD
cd $web_dir
for ss in ${git_files[@]};
do
	
	for ss_repeat in ${repeat_files[@]};
	do
		if [[ $ss_repeat == $ss ]] ; then
			echo "重复:"$ss; 
			ss="";
			break;
		fi
	done;
	repeat_files=(${repeat_files[@]} $ss);
	
	
	
    for ss_ignore in ${ignore_files[@]};
	do
		if [[ $ss == */$ss_ignore ]] ; then
			
			ss="";
			break;
		fi
	done;
	
	
	
	if [[ $ss == src/main/webapp/* ]] ;then
		ss=`echo $ss | sed 's/^src\/main\/webapp\///g'`;
	
	elif [[ $ss == src/main/resources/* ]] ;then
		ss=`echo $ss | sed  's/^src\/main\/resources/WEB-INF\/classes/g'`;
	
	elif [[ $ss == src/main/java/* ]] ;then
		ss_temp=${ss
		ss_temp=${ss_temp/".java"/"*.class"};
		ss_dir=`echo $ss | sed 's/^src\/main\/java\///g'`;
		ss_dir=${ss_dir%/*}
		ss="";
		find WEB-INF/classes/$ss_dir -name $ss_temp > git-package_.tmp;
		while read line;
		do
			ss=$ss" "$line;
		done < git-package_.tmp;
	else
		ss="";
	fi
	res_files=$res_files" "$ss;
done;
package_name="update_`date +%Y%m%d_%H%M%S`.tar.gz";
tar -zcvf $package_name $res_files;
mv $web_dir"/"$package_name $work_dir/$package_name
cd $work_dir
echo $package_name;
 
4.Tomcat项目部署路径:
 
