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+1done < "$FOLDER/tmp.txt"for ((i=0;i<${#split_array[@]};i++));do
{string=${split_array[$i]}array=(${string//,/ })if [ "$array[0]" != "D" ]thenecho ${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/  开源微信商城和小程序商城系统

Mac下SourceTree导出更新文件相关推荐

  1. 在Mac下编译ijkplayer os文件

    在Mac下编译ijkplayer os文件 第一步: 1.安装homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com ...

  2. 如何理解Liveupdate Administrator (LUA) 下SEP的更新文件

    在使用 LUA 为 SEP 下载病毒定义时,病毒定义更新文件夹下会包含如下文件: ■ *.skn -- 白名单更新文件 ■ *.cal -- 商业应用程序列表更新文件 ■ *.osi -- X86 M ...

  3. Mac下如何显示隐藏文件/文件夹

    Mac下默认也是不显示隐藏文件的,有些时候我们想查看隐藏文件就不是那么方便了,下面我就给大家分享2种查看隐藏文件/文件夹的方法 工具/原料 Mac操作系统 Finder 终端 通过Finder 1 在 ...

  4. Mac下解决复制重复文件时,没有像Windows“保留二者”的选项 - Mac文件夹合并,保留重复文件 - xx(1).jpg

    情景 你需要在Mac下复制文件到文件夹"B",但是有部分文件重复了,这时系统没有"保留二者"的选项,只能"跳过","停止" ...

  5. mac下php mysql数据库文件怎么打开_Mac环境下php操作mysql数据库的方法分享

    今天在mac上搭建好了php的环境,我们就把php操作mysql数据库的方法分享给大家,有需要的小伙伴参考下. Mac本地环境搭建 在Mac系统,我们可以使用MAMP Pro 软件来搭建本地服务器.安 ...

  6. MAC下删除U盘文件内存占用问题

    刚用mac的时候发现在电脑上删除U盘里面的文件后,U盘的内存并没有被释放,原因是在mac系统下,会先将文件放入.Trashes文件夹,也就是废纸篓.这是防止你误删可以还原度额办法.你可以通过倾倒废纸篓 ...

  7. 苹果电脑 Mac 下终端中删除文件的命令

    rm -rf 文件名(需要删除的文件) rm -rf 文件名称 参数说明: rm 删除命令.即remove的缩写,它后面有两个参数. -r 删除文件夹内的子文件夹及内容,一般情况下rm只能删 除文件或 ...

  8. Mac下批量删除.svn文件

    打开终端,cd ...命令进入到.svn所在的文件夹. 输入:find . -type d -name ".svn"|xargs rm -rf 回车,这样.svn文件已经全部删除了 ...

  9. Mac下快速新建txt文件

    1.打开终端,定位到桌面 cd desktop 2.输入 vi test.txt 此时,一个txt文件就会建立在桌面上,操作vi时的提示:按[i]为输入内容,编辑好之后按[esc]键,然后输入[:wq ...

最新文章

  1. 10 words and phrases that shouldn’t be on your résumé
  2. java log.error_Logger.error打印错误异常的详细堆栈信息
  3. RUNOOB python练习题8 numpy矩阵的索引及遍历
  4. 为什么普通红包自己不能领_我的拼多多不能领红包是怎么回事呢?
  5. ASP.NET 自定义控件从入门到精通3补充
  6. 利用反射动态实例化类执行方法并传值
  7. 计算机实训大纲,计算机专业实训大纲
  8. php mysql 设置字符_php mysql字符集设置方法
  9. JavaScript数据类型的隐式转换
  10. 基于R语言的贝叶斯网络模型的实践技术
  11. ubuntu安装jdk出现的问题Failed to extract the files
  12. php支付宝h5接口,支付宝H5支付plus版接口文档.PDF
  13. html网页如何导入word,怎么把网页导入word
  14. IT行业前景怎么样,你还有机会吗?
  15. django 搜索功能的实现
  16. 彩色二维码如何制作?
  17. 贴片电阻的封装和功率关系
  18. 深入浅出-交接运维工作
  19. BDL語法知識 变量的初始话
  20. VS2008试用版破解方法

热门文章

  1. Kettle使用_20 笛卡尔积与前一行后一行Lead Lag
  2. SQL基础操作_6_处理数字
  3. Linux版本划分——基于打包方式
  4. [深度学习]Ubuntu16.04 + GTX 1050 + cuda8.0 + cuDNN5.1 + caffe安装详解
  5. 关于解决Win32控制台程序编译后自动退出
  6. Android回调的简单理解
  7. 各大航空公司将加大海南春运期间运力投入
  8. 体验决定销量,真假4K争论仅仅是忽悠人而已
  9. Velocity模板引擎的简单使用
  10. session机制详解以及session的相关应用