git - 从合并的分支编辑提交消息
问题描述
我有一个dev
分支,我在其中合并了一个feature
分支。
-A------B----C-G-H-I-> dev
/
-D--E--F feature
合并后,我做了多个其他提交(G,H,I)。是否可以编辑 D 和 E 的提交消息:
- 无需手动重新合并
- 不丢失 C,G,H 和 I
我尝试使用git rebase -i -r HEAD~6
(因为我想编辑 E,这是第 6 次提交),但 git 仍然提示我手动合并feature
into dev
(基本上已经通过 B 完成)。
这可以实现吗?
解决方案
目前:没有人工干预是不可能做到的。
git rebase -r
没有发现以下情况:
- 我即将重播提交
A'
和之间的合并F'
, - 它们具有与原始提交完全相同的内容,
A
并且F
, - 所以我将使用与原始合并提交完全相同的内容作为
B
结果。
但是,如果您知道您只是改写了消息并且没有更改提交的内容,则很容易B
手动“使用”的内容:
在git rebase
合并步骤停止时:
恢复原始提交的内容
B
:git restore -s B -SW . # short flags for: # git restore --source B --staged --worktree . # or git checkout B -- .
然后继续进行变基:
git rebase --continue
推荐阅读
- c - 有没有办法可以防止 C 中的 EOF?
- python-3.x - 在 Python FastAPI 中缓存上传的图像以将其上传到雪花
- r - 对包含积分的函数进行积分
- excel - 使用 PowerShell 从 Excel 中读取带有 % 的值
- java - 如何使用 openapi-generator-maven-plugin 生成没有属性的基本模型类
- flutter - Flutter,如何从对象列表中创建 json?
- redis - 是否可以使用 Redis 消除数据丢失?
- python - 将 Pycharm 项目移动到另一个目录
- django - Django 迁移错误:返回 self.cursor.execute(sql, params) django.db.utils.ProgrammingError:
- angular - 如何在离子的同一页面中调整模态的大小?