美文网首页程序员装X指北Git程序员
gitlab快速创建Merge/Pull Request

gitlab快速创建Merge/Pull Request

作者: 知傲 | 来源:发表于2016-11-11 15:50 被阅读189次

    gitlab在push一个分支到远程仓库之后会返回一个url,打开这个url可以进入创建MR的页面,但是,它把url中的中文直接删掉了,像下面这样:

    git
    source_branch%5D=bugfix%2F3DTouch键盘两个字没了,那我就自己搞一个吧。
    要拼接这么个url,只要做三件事,一个是仓库名字,第二是source_branch当前分支,第三对source_branch进行urlencode。
    仓库名字:
    basename `git rev-parse --show-toplevel`
    

    当前分支名字:

    git rev-parse --abbrev-ref HEAD
    

    拿到的分支名字末尾带了\n,必须移除:

    git rev-parse --abbrev-ref HEAD | tr -d '\n'
    

    再来urlencode:

    git rev-parse --abbrev-ref HEAD | tr -d '\n' | perl -p -e 's/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg'
    

    好了,把它们拼接起来

    open "https://xxx.xx/"$(basename `git rev-parse --show-toplevel`)"/merge_requests/new?merge_request%5Bsource_branch%5D=$(git rev-parse --abbrev-ref HEAD | tr -d '\n' | perl -p -e 's/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg')"%
    

    这个放到alias里面部分命令就直接执行了,那就保存到文件里,加上x权限,然后再alias到文件,我自己alias成mr
    大功告成,push一个分支后,输入mr,网页就打开了。
    别问我怎么知道这些命令的,我TM全是一个一个Google出来的。
    各位根据自己git地址修改url

    相关文章

      网友评论

        本文标题:gitlab快速创建Merge/Pull Request

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