首页 > 解决方案 > 重新定位本地分支并将其推送到 github

问题描述

在 Github 我有:

现在,在 上github_personal_branch,我在 . 后面和前面都有提交github_master_branch

我想从github_master_branch我 的 中获取更改local_personal_branch,修复冲突,然后将其推送到 github_personal_branch.

  1. 我试图变基,但我得到了很多提交,所有提交都在github_master_branch前面,而不是移动标题。

  2. 我还尝试了 Pycharm 中的 rebase 选项,多种组合,但我不太了解onto,from字段逻辑。

  3. 我尝试了第二次手动变基,但除了 master 我得到了非常旧的代码,前段时间在local_personal_branch.

标签: gitgithubpycharm

解决方案


在 Pycharm中变基,你需要确保你首先在正确的分支上:

  • 查看local_personal_branch
  • 获取更新origin
  • rebase to refs/remotes/origin/github_master_branch(onto field), 如此处所述

https://blog.jetbrains.com/ruby/files/2010/12/rebase.png

无论如何,变基都需要强制推动,顺便说一句,这既不是强制推动也不是变基的好方法。

我会争辩说,在这种情况下,它是:一个“ local_personal_branch”是个人的(对你来说):你可以重新设置它并根据需要强制推送它,因为你是唯一一个在处理它的人。

rebase 的想法是让未来的拉取请求变得微不足道,因为您的local_personal_branch提交将基于最新的 . origin/github_master_branch,这意味着接受这样的 PR 将导致简单的快进合并:没有冲突。

另外,正如这里提到的,合并master到一个特性分支不被认为是最佳实践:你(通常)合并到master,而不是从它。
请参阅“变基与合并”。


推荐阅读