第一个 PR!开心 😊
emm……就不用管,超过一个小时会自动消失的。
- 之前的仓库链接同样可以正常访问
- 本地 remote 地址没有更新的情况下也可以 push 的原因
参考文档:GitHub 文档
在此分支进行代码功能更新,可以提交多个 commit msg
,建议细分功能提交
分支名称应该见名知意,比如 feat/xxx
、fix/xxx
git checkout -b feat/add-feature
⚠️ 尽量不要在主分支main
上做 PR 提交
只在 main
分支提交会导致在这个 PR 被合并后,下次 PR 时,你的 commit msg
会留存上次 PR 的信息,就不干净了,而创建一个新分支的方式能很好的解决这个问题,main
分支主要作用就是同步 Fork
前仓库
git push origin feat/add-feature
回到 Fork
的仓库时,首页会出现提示,点击 Compare & pull request
来到这个页面将这个 PR 所解决的问题写在 Add a description 中,并将核心内容概括取一个好一点的 title,更有利于维护者来快速了解并 review 你的代码
确认好了点击 Create pull request
- 先 fork 原仓库(你们都想要把 pr 提交过去的仓库)
- 决定谁来提 PR(A),谁作为合作者(B)
- A 提交一个 PR 之后,在他 fork 的仓库中将 B 添加到合作者(collaborator)
- B 在他 fork 的仓库找到 A 提交的 PR 分支,并且切换(checkout)过去
- 基于这个 PR 分支的内容进行添加 / 更改 / 删除之后,push 到他的分支上(此时是有权限的)
确保本地是干净的,可以先用 git stash 存起来,等你改完之后再 git stash pop 出来
切换分支
# username 是对方的
git checkout pr/[username]/[prId]
# 比如
git checkout pr/fengstats/1
添加暂存区 + 提交本地仓库
git add .
git commit -m "xxx"
推送到 PR 分支上(确保有其仓库推送的权限 / Collaborator)
git push [username] HEAD:对应的分支名称
# 比如
git push fengstats HEAD:feat/add-content
推荐 VSCode 插件:GitHub Pull Requests
切换到对应 PR 的分支上
通过 add&commit 提交到本地仓库之后,会看到一个分支差异,右键推送即可