git - 拉取请求包含我在其他分支上的提交?
问题描述
我知道这个不断变化的分支基础技巧并且它不起作用,来自这个问题:GitHub拉取请求显示已经在目标分支中的提交
就我而言,在切换到分支之前,我正在从我工作的其他分支获取我的提交。我该如何解决?
解决方案
一个相对简单的解决方案是从master
(或您要合并的分支)创建一个完整的新分支,然后从旧分支中逐一挑选您想要包含在 PR 中的提交。然后您需要使用原始分支名称强制推送到 github。
git checkout -b new_attempt origin/master
git cherry-pick <commit1>
git cherry-pick <commit2>
...
git push --force origin new_attempt:mybranch
其中mybranch
是您用于此 PR 的分支的名称。
如果提交太多,您可以尝试使用 rebase--onto
选项。
git rebase --onto origin/master <base_commit> mybranch
git push --force origin mybranch
其中<base_commit>
是您要从 PR 中排除的最后一次提交。变基可能有点棘手,因此请备份并阅读git-rebase 文档
推荐阅读
- java - 如何对对象的特定类型方法使用 Java 反射
- python - 从python中的文本文件中提取值
- python - Botocore 错误:HTTP 客户端引发未处理的异常:sys.meta_path 必须是导入挂钩列表
- wxwidgets - wxScrolled.SetScale() 有什么作用?
- image - 如何在颤动中重新着色图像?
- python - 如何在python中将单引号传递给json字符串?
- python - 如何使用 python 清理 url
- sql - SQL Count Distinct 返回一个额外的计数
- android - 使用android room时即使没有更新数据也会更新
- php - 使用 SimpleXMLParser 获取嵌套节点值