我已经将 PR 签入我的本地。现在 PR 已更新,如何使用最新提交更新本地分支。 当我尝试做git fetch upstream
git 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 的本地分支名称