git - 通过更新父分支从子分支 PR 中删除更改
问题描述
我有这样的情况,我从一个分支 A 创建了一个分支 B ,改变了一些东西并提出了一个 Pull Request 。后来才知道这些更改应该是 Branch A 而不是 Branch B 的一部分,并且不应该出现在 Branch B 的 PR 中,所以如果我更新父分支 Branch A(在那里添加这些更改),并将更改拉到分支 B ,所以现在分支 B 的 PR 是否会显示我之前添加的那些更改,或者那些将消失
解决方案
您可以尝试从 B 快进到 A:
git checkout A
git merge --ff-only B
这会将提交应用到 A,因为它们在 B 中,或者如果存在任何冲突则失败。
之后,如果您想更改它,您可以简单地git reset --hard <commit>
B 分支,或者再次从 A 重新创建 B 分支,所以它是 1:1。
或者,您可以使用cherry Pick,仅应用您想要的提交,然后重置 B 分支以提交您想要的。
关于拉取请求中的行为,B 分支仍将包含提交,但 git UI(例如 Gitea)可能不会显示它们,因为常见的提交将匹配。
或者,重新设置分支并删除常见的提交,例如:
git checkout B
git rebase A
git push --force # to update the PR
推荐阅读
- r - 如何在 r 中使用 dplyr 循环计算多个实例的距离
- c++ - 如何让 Google 测试正常运行。测试总是失败。(它不会编译)
- php - 自定义 yii2 日期时间选择器
- python - Python 将 Excel 文件 (.xlsx) 转换为 PDF (.pdf)
- java - Selenium Table 和 div 重叠
- java - mybatis 中的 GenericTypeHandler 没有获取正确的类型对象
- python - Python - pandas 中的错误(在循环处理文件期间)
- node.js - 使用 Selenium 进行 Web 抓取的 NodeJs API
- c++ - 应用程序的自定义托盘菜单
- python - 使用 Python 的 Telnet SSH 连接 (Windows)