在 GitHub 上提交 PR(Pull Request)是一种将代码变更合并到主分支或其他目标分支的常见方式。在同时处理多个 PR 时,需要使用独立的分支来避免相互干扰。以下是详细教程:
步骤一:单个 PR 的提交流程
Fork 仓库
如果没有直接访问权限,先 fork 原仓库到自己的 GitHub 帐号。
在 fork 的仓库上操作自己的代码。
克隆仓库到本地
git clone https://github.com/<your-username>/<repo-name>.git
cd <repo-name>
创建分支
- 使用描述性名称创建一个新分支(例如
feature/add-new-function
):
git checkout -b feature/add-new-function
开发和提交代码
- 在分支中进行开发。
- 提交变更:bash复制代码
git add .
git commit -m "Add new feature or fix bug"
推送分支到远程仓库
git push origin feature/add-new-function
在 GitHub 上创建 Pull Request
- 打开你的 fork 仓库,在 Pull Requests 页面点击 New Pull Request。
- 选择
base
为主仓库的目标分支(如main
),compare
为你的新分支(如feature/add-new-function
)。 - 填写标题和描述,点击 Create Pull Request。
步骤二:同时提交多个 PR,互不干扰
在开发多个功能时,每个功能应位于独立的分支,确保分支间互不干扰。以下是具体做法:
为每个功能创建独立分支
确保从最新的主分支(如 main
或 develop
)开始:
git checkout main
git pull origin main
git checkout -b feature/feature1
另一个功能则创建新分支:
git checkout main
git checkout -b feature/feature2
在各自分支中开发
- 在
feature/feature1
中开发并提交:
git add .
git commit -m "Add feature1"
git push origin feature/feature1
在 feature/feature2
中开发并提交:
git add .
git commit -m "Add feature2"
git push origin feature/feature2
分别创建 PR
- 为每个分支分别创建 PR:
feature/feature1
对应一个 PR;feature/feature2
对应另一个 PR。
避免分支依赖
- 如果一个 PR 基于另一个功能,可以通过 rebasing 保持变更独立:
git checkout feature/feature2
git rebase main
git push --force
最佳实践
定期同步主分支
确保分支与主分支保持同步,减少合并冲突:
git checkout main
git pull origin main
git checkout feature/your-branch
git rebase main
清理旧分支
- 合并 PR 后,可以删除已完成的本地和远程分支:
git branch -d feature/feature1
git push origin --delete feature/feature1
PR 描述清晰
- 每个 PR 应包含详细的功能描述、问题解决方案和测试步骤,方便审核。
通过以上方式,可以高效提交多个 PR,同时确保各功能变更互不干扰。
发布者:myrgd,转载请注明出处:https://www.object-c.cn/4662