Mac下SourceTree导出更新文件
生活随笔
收集整理的這篇文章主要介紹了
Mac下SourceTree导出更新文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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导出更新文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SourceTree中如何注册atlas
- 下一篇: 小勐拉车为什么便宜?