Mac下SourceTree导出更新文件

1 篇文章 0 订阅
1 篇文章 0 订阅

SourceTree可视化git管理工具功能很强大,支持自定义操作可以写脚本,现在教大家做一个导出更新文件的脚本吧

添加自定义操作

选择文件导出

exports.sh

#!/bin/bash
#仓库路径
REPO_PATH=$1
#导出文件的目录以及新建文件夹路径
FOLDER="/Users/xurongyao/web/sourcetree/update"
FOLDER_DATE=`date +%Y%m%d_%H_%M_%S`
PROJECT_NAME=${REPO_PATH##*/}
for arg in "$@"
do
if [ $1 != $arg ]
then
srcfile="$REPO_PATH/$arg"
echo $arg
cpfile="$FOLDER/${PROJECT_NAME}_$FOLDER_DATE/$arg"
folder=${cpfile%/*}
`mkdir -p $folder`
result=`cp -f  $srcfile $cpfile`
echo "$arg"
fi
#打开导出文件夹
open $FOLDER/${PROJECT_NAME}_$FOLDER_DATE
done

选择版本号内容导出文件

commit_export.sh

#!/bin/bash
REPO_PATH=$1
GIT_SHA=$2
#导出文件保存路径
FOLDER="/Users/xurongyao/web/sourcetree/update"
FOLDER_DATE=`date +%Y%m%d_%H_%M_%S`
PROJECT_NAME=${REPO_PATH##*/}
`mkdir -p $FOLDER`
filepath=$(cd $REPO_PATH; pwd)
split_str=`git show --format= --name-status $GIT_SHA`
echo "$split_str" > "$FOLDER/tmp.txt"

split_array=()
split_len=0
while read line
do
split_array[$split_len]=$line
split_len=$split_len+1

done < "$FOLDER/tmp.txt"

for ((i=0;i<${#split_array[@]};i++));do
{
	string=${split_array[$i]}

	array=(${string//,/ })
	if [ "$array[0]" != "D" ]
         then
         echo ${array[1]}

		srcfile="$REPO_PATH/${array[1]}"
		cpfile="$FOLDER/${PROJECT_NAME}_$FOLDER_DATE/${array[1]}"
		folder=${cpfile%/*}
		`mkdir -p $folder`
		`cp -f  $srcfile $cpfile`
	fi
#    for var in ${array[@]}
#    do
#      echo $var
#    done
}
open $FOLDER/${PROJECT_NAME}_$FOLDER_DATE
done

完成了

导出结果看看挺方便吧

在此也欢迎大家加入我的gitee项目,一起发展,一起完善,也感谢小伙伴们点star。 

gitee地址:https://gitee.com/ZhongBangKeJi/CRMEB/  开源微信商城和小程序商城系统

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值