git - 重新定位本地分支并将其推送到 github
问题描述
在 Github 我有:
- 主分支,让我们说
github_master_branch
和一个个人(远程)分支,让我们这么说
github_personal_branch
过去我从 github 克隆
我签出
github_personal_branch
(使用 Pycharm)并创建了一个同名的本地分支(但假设它是local_personal_branch
)从
local_personal_branch
我推到github_personal_branch
现在,在 上github_personal_branch
,我在 . 后面和前面都有提交github_master_branch
。
我想从github_master_branch
我
的 中获取更改local_personal_branch
,修复冲突,然后将其推送到
github_personal_branch
.
我试图变基,但我得到了很多提交,所有提交都在
github_master_branch
前面,而不是移动标题。我还尝试了 Pycharm 中的 rebase 选项,多种组合,但我不太了解
onto
,from
字段逻辑。我尝试了第二次手动变基,但除了 master 我得到了非常旧的代码,前段时间在
local_personal_branch
.
解决方案
要在 Pycharm中变基,你需要确保你首先在正确的分支上:
- 查看
local_personal_branch
- 获取更新
origin
- rebase to
refs/remotes/origin/github_master_branch
(onto field), 如此处所述
无论如何,变基都需要强制推动,顺便说一句,这既不是强制推动也不是变基的好方法。
我会争辩说,在这种情况下,它是:一个“ local_personal_branch
”是个人的(对你来说):你可以重新设置它并根据需要强制推送它,因为你是唯一一个在处理它的人。
rebase 的想法是让未来的拉取请求变得微不足道,因为您的local_personal_branch
提交将基于最新的 . origin/github_master_branch
,这意味着接受这样的 PR 将导致简单的快进合并:没有冲突。
另外,正如这里提到的,合并master
到一个特性分支不被认为是最佳实践:你(通常)合并到master
,而不是从它。
请参阅“变基与合并”。
推荐阅读
- tinymce - Angular 和 TinyMCE,如何添加格式以将文本换行
- javascript - 我想使用 JavaScript DOM 制作更多详细信息按钮/选项卡
- python - 用于图像处理的尺度不变特征变换(SIFT)
- regex - 正则表达式:第 2 场比赛从第 1 场比赛的最后一个符号开始
- rust - 强制转换关联类型的签名
- function - 将代码转换为二进制可执行文件是很常见的事情……相反的可能吗?
- node.js - Node.js Express https 服务器崩溃:create 不是函数
- reactjs - Using React components in Vue
- python - pandas:将选定的行除以一个数字
- git - Command to get the name of git's default branch