美文网首页锻炼吃饭的家伙
Mac OS X Shell 实战之SourceTree自定义操

Mac OS X Shell 实战之SourceTree自定义操

作者: 十一岁的加重 | 来源:发表于2017-09-19 15:42 被阅读113次

    场景:在公司用的是SourceTree,会有一个自己的代码仓库,还有主的代码仓库,
    经常会用到自定义操作,当然关于打开工程 ,打开项目这个自定义操作之前是有人写了的,我主要是根据自己的情况来写了两个。
    我们在主仓库上会有一个code Review的过程,
    我们在自己的仓库上会有一个提交merge_requests到主仓库让别人code Review的操作,每次打开浏览器太麻烦了,当然有些人书签 也没存,已经习惯了这些繁琐的操作,于是我就边上班写代码边抽时间写了这个脚本,第一次写好紧张,查了好多资料,终于成功,当然还有些还待优化,比如用Chrome打开地址啊,有些人可能装的是Firefox这个得处理,如果有时间

    image.png
    
    #!/bin/bash
    # 这两个是传进来的参数
    如上图
    repoPath=$1
    isDoNewImerge_requestsAction=$2
    
    for remoteRepoName in $(git remote); do
    remoteUrls="git remote get-url --push ""${remoteRepoName}"
    for remoteUrl in $(${remoteUrls}); do
    httpStr="http"
    if [[ $remoteUrl == *$httpStr* ]]
    then #"包含http"
    test2=${remoteUrl%".git"}
    httpStr="mobile"
    if [[ $test2 == *$httpStr* ]]
    then #包含mobile,进行merge_requests
    #echo ${test2}
    if [ "$isDoNewImerge_requestsAction" != "isNewImerge_requests" ]; then
    /usr/bin/open -a "/Applications/Google Chrome.app"  $test2"/merge_requests"
    
    fi
    else #不包含mobile,进行/merge_requests/new
    echo ${test2}
    #isNewImerge_requests
    if [ "$isDoNewImerge_requestsAction" == "isNewImerge_requests" ]; then
    /usr/bin/open -a "/Applications/Google Chrome.app"  $test2"/merge_requests/new"
    fi
    fi
    
    
    else #不包含http
    
    test1=${remoteUrl#"git@git."}
    test2=${test1%".git"}
    test3=${test2/://}
    test4=${test3/这里是我们公司的内部gitLab服务器的域名/http://这里是我们公司的内部gitLab服务器的IP地址}
    test5=${test4/git@这里是我们公司的内部gitLab服务器的IP地址/http://这里是我们公司的内部gitLab服务器的IP地址}
    
    echo ${test5}
    httpStr="mobile"
    if [[ $test5 == *$httpStr* ]]
    then #包含mobile,进行merge_requests
    echo ${test5}
    if [ "$isDoNewImerge_requestsAction" != "isNewImerge_requests" ]; then
    
    /usr/bin/open -a "/Applications/Google Chrome.app"  $test5"/merge_requests"
    fi
    else #不包含mobile,进行/merge_requests/new
    if [ "$isDoNewImerge_requestsAction" = "isNewImerge_requests" ]; then
    /usr/bin/open -a "/Applications/Google Chrome.app"  $test5"/merge_requests/new"
    fi
    fi
    
    fi
    done
    done
    
    

    1、打开工作空间
    /Users/mac/Documents/我的坚果云/openXproj.sh $REPO xcworkspace
    2、打开工程
    /Users/mac/Documents/我的坚果云/openXproj.sh $REPO xcodeproj
    3、提代码到主仓库
    /Users/mac/Documents/我的坚果云/testShell.sh $REPO isNewImerge_requests
    4、主仓库CodeReview
    /Users/mac/Documents/我的坚果云/testShell.sh $REPO codeReview

    相关文章

      网友评论

        本文标题:Mac OS X Shell 实战之SourceTree自定义操

        本文链接:https://www.haomeiwen.com/subject/enwwsxtx.html