推送分支并创建PR需先执行git push -u origin your-branch-name,再在GitHub网页点击Compare & pull request按钮;确保分支名、目标分支正确,等待同步完成后再刷新页面。

怎么从本地分支推送到 GitHub 并发起 PR
PR 不是本地命令,本质是「先推送分支 + 后在网页点按钮」。你本地 git push 成功后,GitHub 会自动识别新分支并在仓库主页弹出绿色 Compare & pull request 按钮。
- 必须先有远程仓库(
origin),且已通过git remote add origin <url>关联 - 推送时用
git push -u origin your-branch-name,带-u才能建立上游跟踪,后续git push直接生效 - 别直接推到
main或master—— PR 要求目标分支是受保护的,推不上去反而卡住
为什么点了 Create Pull Request 却看不到自己的提交
常见于推送后立刻刷新页面却没更新,或 PR 显示 “There isn’t anything to compare”。根本原因是:GitHub 还没同步完,或分支名/目标分支选错了。
- 检查右上角分支选择器是否切到了你的新分支(不是
main);对比目标(base)分支是否选对,比如想合入develop却误选了main - 刚
git push完等 5–10 秒再刷新,GitHub 有时有短暂延迟 - 如果本地 commit 没
git add或git commit,或者push时漏了origin和分支名(如只输git push),远程根本没收到任何东西
PR 描述里写什么才不容易被拒
维护者扫一眼就决定要不要点进去看代码。空描述、只写 “fix bug” 或贴一长串日志,基本会被打回重写。
- 第一行用短句说明「做了什么」,比如:
feat: add retry logic to apiFetch或fix: prevent null ref in UserProfile - 下面空一行,用简练中文写清楚:问题现象(比如 “点击头像跳转 404”)、改动思路(比如 “加了路由守卫判断用户状态”)、是否影响其他模块(比如 “不影响登录流程,但依赖
useAuthhook v2.1+”) - 避免写“已测试”——要写具体测了什么,比如:
✓ 登录态下点击跳转正常 ✓ 游客点击跳转到登录页
本地改完代码,怎么更新已发的 PR
PR 是动态绑定分支的,不是快照。只要继续往同一个分支 push,PR 页面会自动追加新 commit,无需重新创建。
- 确保还在原分支(
git checkout your-branch-name),别切错成main - 常规流程:
git add .→git commit -m "chore: update PR per review"→git push(不用带参数,因为之前用了-u) - 如果被要求 rebase,别直接
git push --force—— 先git pull --rebase origin/main,解决冲突后再git push --force-with-lease,避免覆盖别人提交
最常被忽略的一点:PR 的标题和描述不会自动更新,每次补充逻辑或修复后,手动编辑 PR 描述补上变更说明,不然 Reviewer 只能看到 Git 提交历史,很难快速对齐上下文。


















