You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在推送分支至GitHub后添加带Pull Request页面链接的提示消息?

实现GitHub推送分支后自动显示Pull Request链接提示

当然可以实现这个需求!GitHub默认没有像GitLab或Bitbucket那样的推送后PR提示,但我们可以借助Git的钩子脚本轻松搞定,步骤超简单:

方法一:为单个仓库配置

  1. 打开本地仓库的.git/hooks目录(这个目录默认隐藏,需要显示隐藏文件)
  2. 创建一个名为post-push的文件(无需后缀),写入以下脚本内容:
#!/bin/bash

# 获取当前推送的分支名称
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)

# 获取远程仓库的URL(默认取origin)
REMOTE_URL=$(git config --get remote.origin.url)

# 从URL中提取GitHub用户名和仓库名,兼容SSH和HTTPS两种地址格式
if [[ $REMOTE_URL == git@github.com:* ]]; then
    REPO_INFO=${REMOTE_URL#git@github.com:}
elif [[ $REMOTE_URL == https://github.com/* ]]; then
    REPO_INFO=${REMOTE_URL#https://github.com/}
fi
# 去掉末尾的.git后缀
REPO_INFO=${REPO_INFO%.git}
# 拆分用户名和仓库名
USERNAME=$(echo $REPO_INFO | cut -d'/' -f1)
REPO_NAME=$(echo $REPO_INFO | cut -d'/' -f2)

# 生成新建Pull Request的链接
PR_LINK="https://github.com/$USERNAME/$REPO_NAME/pull/new/$BRANCH_NAME"

# 输出模仿GitLab风格的提示信息
echo -e "\nremote: To create a pull request for *$BRANCH_NAME*, visit:"
echo -e "remote: $PR_LINK"
  1. 给脚本添加执行权限,在终端运行:
chmod +x .git/hooks/post-push

完成后,下次推送分支到GitHub时,就会看到类似这样的提示:

Total 0 (delta 0), reused 0 (delta 0)
remote: To create a pull request for feature/login-flow, visit:
remote: https://github.com/your-username/your-repo/pull/new/feature/login-flow
To github.com:your-username/your-repo.git

  • [new branch] feature/login-flow -> feature/login-flow

方法二:全局配置(所有新建仓库自动生效)

如果你想让所有新创建的Git仓库都自动拥有这个功能,可以设置Git的模板目录:

  1. 在用户目录下创建模板钩子目录:
mkdir -p ~/.git-template/hooks
  1. 把上面的post-push脚本复制到该目录,并添加执行权限:
cp .git/hooks/post-push ~/.git-template/hooks/
chmod +x ~/.git-template/hooks/post-push
  1. 配置Git全局使用这个模板目录:
git config --global init.templatedir '~/.git-template'

这样之后,你新建的任何Git仓库都会自动包含这个post-push钩子,推送分支后都会显示PR链接提示啦!

内容的提问来源于stack exchange,提问作者artem_russkikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:52:29