• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Bash黑魔法使用命令极快生成 Git 仓库的 Pull Request 链接

武飞扬头像
veejaLiu
帮助1

一、代码先行

Linus Torvalds的名言: “Talk is cheap. Show me the code.”

function get_pr_url() {
    github_url=$(git remote -v |
        awk '/fetch/{print $2}' |
        sed -Ee 's#(git@|git:|git@[^:] :)#https://github.com/#' -e 's@com:@com/@' -e 's%\.git$%%' |
    awk '/github/')
    branch_name=$(git rev-parse --abbrev-ref HEAD)
    if [ -z "$1" ]; then
        pr_url=$github_url"/compare/develop..."$branch_name
    else
        pr_url=$github_url"/compare/$1..."$branch_name
    fi
    echo "$pr_url"
}

function opr() {
    pr_url=$(get_pr_url "$1")
    open "$pr_url"
}

function pr() {
    pr_url=$(get_pr_url "$1")
    echo "$pr_url"
}
学新通

二、使用示例

以下是使用这些函数的示例:

  • 获取当前分支到 develop 分支的 Pull Request 链接:

    pr
    
  • 获取当前分支到 feature-branch 分支的 Pull Request 链接:

    pr feature-branch
    
  • 获取 feature-branch 分支到 develop 分支的 Pull Request 链接:

    pr feature-branch develop
    
  • 打开当前分支到 develop 分支的 Pull Request 链接:

    opr
    
  • 打开当前分支到 feature-branch 分支的 Pull Request 链接:

    opr feature-branch
    
  • 打开 feature-branch 分支到 develop 分支的 Pull Request 链接:

    opr feature-branch develop
    

三、配置命令

将上面的两个命令放进你的环境变量中,你需要编辑你的 .bashrc.bash_profile 文件,然后将这些命令添加到文件的末尾。你可以使用以下命令来打开你的文件进行编辑:

vim ~/.bashrc

然后在文件的末尾添加以上代码。
保存文件并退出。
现在你可以打开一个新的终端窗口 或者 source一下刚才的文件,然后运行 oprpr 命令就可以了。

四、授人以渔

让我来简单的解释一下这些代码吧,方便那些不太熟悉shell脚本的同学也能自己定制一下这个命令。

这段代码定义了三个 Bash 函数。 以下是每个函数的解释:

  • get_pr_url(): 这个函数获取当前 git 仓库的 GitHub URL 并返回一个 pull request 链接,可以使用参数来比较不同的分支。
  • opr(): 这个函数使用 get_pr_url() 获取 pull request 链接并在浏览器中打开它。
  • pr(): 这个函数使用 get_pr_url() 获取 pull request 链接并返回它。

这些函数可以帮助您更轻松地在命令行中打开 pull request 链接,而无需手动复制和粘贴 URL。

get_pr_url() 函数的作用是获取当前 Git 仓库的 GitHub URL,并返回一个 pull request 链接,可以使用参数来比较不同的分支。

具体实现步骤如下:

  1. 使用 git remote -v 命令获取 Git 仓库的远程 URL。
  2. 使用 awk 命令从远程 URL 中提取 GitHub URL。
  3. 使用 sed 命令将 GitHub URL 转换为标准格式(https://github.com/username/repo)。
  4. 使用 git rev-parse 命令获取当前所在的分支名称。
  5. 根据参数判断是否需要比较不同的分支。
  6. 返回 pull request 链接。

希望你能用的开心,提高你的学习效率,并获得一些启发。


End.

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggchge
系列文章
更多 icon
同类精品
更多 icon
继续加载