如何使用最新提交到 PR 的更新本地签出的 PR 代码?



我已经将 PR 签入我的本地。现在 PR 已更新,如何使用最新提交更新本地分支。 当我尝试做git fetch upstreamgit pull origin他们都说分支不存在。那是因为它是 PR 而不是分支。如何更新我的本地存储库?

当您在本地签出 PR 时,您正在获取特定命名空间中的分支:

git fetch origin pull/ID/head:BRANCHNAME
# or
git fetch upstream pull/ID/head:BRANCHNAME

但是如果你做一个 git config -l,你可能会看到这样的设置:

remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

与远程获取分支关联的refspec,而不是pull/branches

您需要添加(对于 GitHub 拉取请求(:

fetch = +refs/pull/*/head:refs/remotes/origin/pr/* 

为了能够获取任何pr分支。

对于BitBucket拉取请求:

fetch = +refs/pull-requests/*/from:refs/remotes/upstream/pr/*

(前提是 BitBucket 确实刷新了其 PR 分支(

您可以通过以下方式更新/拉取已签出的未合并 PR 分支

git pull upstream pull/PR-NUMBER/head:LOCAL-PR-BRANCH
example : git pull upstream pull/352/head:pr-352

仅供参考:如何签出未合并的 PR:

git fetch upstream pull/352/head:pr-352
git checkout pr-352
  • 远程可以是上游或源
  • 352 是 PR 编号
  • pr-352 是签出 PR 的本地分支名称

相关内容

最新更新