Bash黑魔法使用命令极快生成 Git 仓库的 Pull Request 链接
一、代码先行
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一下刚才的文件,然后运行 opr
或 pr
命令就可以了。
四、授人以渔
让我来简单的解释一下这些代码吧,方便那些不太熟悉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 链接,可以使用参数来比较不同的分支。
具体实现步骤如下:
- 使用
git remote -v
命令获取 Git 仓库的远程 URL。 - 使用
awk
命令从远程 URL 中提取 GitHub URL。 - 使用
sed
命令将 GitHub URL 转换为标准格式(https://github.com/username/repo
)。 - 使用
git rev-parse
命令获取当前所在的分支名称。 - 根据参数判断是否需要比较不同的分支。
- 返回 pull request 链接。
希望你能用的开心,提高你的学习效率,并获得一些启发。
End.
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggchge
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13