git - 重新基于特定的提交
问题描述
我检查了Git: How to rebase to a specific commit? 但我不明白,我的问题不相似
我有一个分支,其中有 2 个提交
x
和y
.我在该分支中添加了另一个提交
z
,并想用x
.每次我打开文本编辑器进行变基时,它只显示提交
y
,我无法使用x
.
编辑:
我尝试使用:
git rebase -i x
解决方案
您可以通过仅在and提交z
之上进行提交来解决此问题:x
y
# from your branch
git commit -m 'z commit'
然后,我们可以进行交互式变基、重新排序提交和压缩。键入以下内容:
git rebase -i --root your_branch
这应该会打开一个编辑器窗口,显示从最旧到最新的三个提交:
pick dj39fm2 message for commit x
pick m83mdk2 message for commit y
pick 3kme92w message for commit z
现在,重新排序提交,使其z
紧随其后x
,然后将提交选项更改为z
,squash
以告诉 Git 您要将其压缩到x
提交:
pick dj39fm2 message for commit x
squash 3kme92w message for commit z
pick m83mdk2 message for commit y
现在保存文件,退出编辑器,并允许 Git 启动 rebase。请注意,您可能会在 squash 期间遇到一些合并冲突,或者在y
提交重新应用到新基础时遇到一些合并冲突。
推荐阅读
- python - 如何解析 Python 的三引号 f 字符串?
- node.js - 使用 FTP NodeJS 上传文件时出现错误 502“不支持命令”
- leaflet - 获取矩形或多边形的每个角/顶点的坐标列表
- vba - 使用 VBA 在 Microsoft Word 中搜索和替换用户决策
- javascript - 反应原生嵌套导航问题
- oracle - 由于错误 weblogic.application.ModuleException 无法初始化应用程序“DataSource”
- php - 在 apache 网络服务器上使用棘轮 websocket 库为安全 websocket 配置虚拟主机
- azure - 跨 Azure AD 资源
- r - 为所有一个变量分配相同的随机值?
- google-cloud-functions - Firebase 云功能/一个有效,另一个(相同功能)无效