git - Git 与提交覆盖合并
问题描述
我从master创建了一个分支A。在这个分支上,我执行并重rebase --i
命名了一些从一开始就存在的提交。现在我想将分支 A 合并回 master,用他们在分支 A 上设置的消息覆盖来自 master 的提交。但是,如果我调用merge
The commits from branch A are put on commits already on master
。有没有办法强制用master
分支 A 上的更新版本替换旧提交?
解决方案
免责声明:不要在不了解后果的情况下更改已发布的 Git 历史记录。它可能会给他人和您带来问题。阅读有关强制推送或变基的所有警告。
如果我对您的理解正确并且您已在评论中确认了这一点,那么您目前拥有的是:
a-b-c--d--e <- master
\
c'-d'-e' <- A
你希望它来:
a-b (-c--d--e)
\
c'-d'-e' <- A, master
然后,您可以简单地删除主分支并在适当的提交处重新创建。或者,强制创建它(结果是一样的):
git branch -f master A
这将创建一个master
指向与 相同的提交的分支A
,包括 A 的所有历史记录。现有的旧master
历史将丢失。
推荐阅读
- java - 已经设置了资源文件夹。但是 getclass().get resource().getPath() 在 Intellj IDEA Java 中仍然失败
- tensorflow - Tensorflow Lite 和代表性数据集
- tkinter - 如何在 tkinter 中创建组合框数组?
- if-statement - 如果:我做错了什么
- php - PHP将缺少的工作日推入数组中,总数为0
- google-apps-script - 以 Google 群组的身份登录以为应用脚本创建可安装触发器
- c# - 多次调用 AddHostedServices 不会创建多个实例
- html - 使用primeng和angular从选定项目中获取p-dropdown选项值
- nginx - 如何在 nginx 中配置子域
- django - 在 django 中运行服务器后,我收到 KeyError: 'django'