使用上游分支重新设置本地分支
Rebase local branch with upstream branch
分叉回购后的一系列事件:
- 创建了分支
- 进行了一些更改
- 已将我分支的 PR 提交给上游 master
- 仓库所有者在他的仓库上创建了一个分支并将我的 PR 与其他一些更改合并。
我还有 PR 方面的工作要做,但现在我必须将我的分支重新定位到 repo 所有者创建的分支上,以便在我的分支可以与他的 master 合并之前测试一些东西。
如何使用在远程创建的分支为本地存储库中的分支变基?我基本上希望我的分支之一与上游仓库中的分支之一相同(不是主分支)。
对于术语可能使用不当,提前致歉。
如果您想将您的分支与上游同步,并且您在本地确实没有要保留的提交,则更容易重置:
git reset --hard upstream/the_branch
你也可以直接指定一个sha1。
How can I rebase the branch in my local repo with the branch created in the remote? I basically want one of my branches to be the same as one of the branches in the upstream repo (not master).
通常的方式:
git rebase upstream/the_branch
这将更改您在 PR 中使用的分支的历史记录。
不过没关系。由于您的 PR 尚未被接受,并且正如您所说,它需要更多工作,因此可以重写其基础分支,
完成后,使用:
git push -f origin yourbranch_for_pr
作为旁注,
在此之后,在 PR 中,您将看到在 rebase 之前和之后所做的所有更改,如果这些更改尚未合并到 master
,还会看到 repo 所有者所做的其他更改。如果 repo 所有者先将他的更改合并到 master
中,那么您的 PR 将只包含您的工作,这将是理想的。
分叉回购后的一系列事件:
- 创建了分支
- 进行了一些更改
- 已将我分支的 PR 提交给上游 master
- 仓库所有者在他的仓库上创建了一个分支并将我的 PR 与其他一些更改合并。
我还有 PR 方面的工作要做,但现在我必须将我的分支重新定位到 repo 所有者创建的分支上,以便在我的分支可以与他的 master 合并之前测试一些东西。
如何使用在远程创建的分支为本地存储库中的分支变基?我基本上希望我的分支之一与上游仓库中的分支之一相同(不是主分支)。
对于术语可能使用不当,提前致歉。
如果您想将您的分支与上游同步,并且您在本地确实没有要保留的提交,则更容易重置:
git reset --hard upstream/the_branch
你也可以直接指定一个sha1。
How can I rebase the branch in my local repo with the branch created in the remote? I basically want one of my branches to be the same as one of the branches in the upstream repo (not master).
通常的方式:
git rebase upstream/the_branch
这将更改您在 PR 中使用的分支的历史记录。 不过没关系。由于您的 PR 尚未被接受,并且正如您所说,它需要更多工作,因此可以重写其基础分支, 完成后,使用:
git push -f origin yourbranch_for_pr
作为旁注,
在此之后,在 PR 中,您将看到在 rebase 之前和之后所做的所有更改,如果这些更改尚未合并到 master
,还会看到 repo 所有者所做的其他更改。如果 repo 所有者先将他的更改合并到 master
中,那么您的 PR 将只包含您的工作,这将是理想的。