如何获取要拉取 PR 的最新提交?

问题描述 投票:0回答:1

在分支之间创建 GitHub Pull 请求时,它会获取目标分支上的上一次提交,而不是最新的提交。

因此,我们无法完成部署,导致在分支上进行大量手动更改来解决冲突。

github commit pull-request
1个回答
0
投票

您需要确保您的功能分支与目标分支是最新的。

Feature Branch                        Target Branch
      │                                      │
      ├─ ● Commit A                          ├─ ● Base Commit
      ├─ ● Commit B                          ├─ ● Commit X (Old)
      │                                      ├─ ● Commit Y (New)
      │ (fetch & merge/rebase here)          v
      v          

这应该涉及从目标分支获取最新更改,并在创建或更新 PR 之前根据它合并或重新调整功能分支。

git fetch origin
git switch your-feature-branch

git merge origin/target-branch
# or, to keep a cleaner, linear history
git rebase origin/target-branch

如果在合并或变基过程中遇到冲突,则需要手动解决它们,然后继续变基(如果您正在变基)或提交合并(如果您正在合并)。

Feature Branch                          Target Branch
      │                                      │
      ├─ Base Commit                         ├─ Base Commit
      ├─ Commit X (Old)                      ├─ Commit X (Old)
      ├─ Commit Y (New) ── merge/rebase ──>  ├─ Commit Y (New)
      ├─ Commit A                            v
      ├─ Commit B
      v

将更改推送到远程存储库上的功能分支。如果您已重新设置基准,则需要使用强制推送:

git push origin your-feature-branch --force

这将确保您的功能分支包含目标分支的所有更新,从而实现更干净且无冲突的 PR。

© www.soinside.com 2019 - 2024. All rights reserved.