git - 如何在`git rebase --continue`期间跳过合并
问题描述
情况
在识别并解决了上一次脚本迭代中的意外和不良行为后,我正在尝试重新应用我的 git 过滤器。我以前必须这样做一次,而且我从来没有收到合并冲突通知。但是,现在我无法弄清楚如何处理它。
我在做什么
我在跑步$git rebase -i --root --preserve-merges
。我知道涉及合并和变基的警告,它不适用于这种情况,因为我没有重新排序任何提交。
然后我切换pick
到edit
编辑后,该过程包括在每个文件上运行污迹过滤器,然后应用清洁过滤器。它的过程非常简单。
问题。
git rebase --continue
执行合并。下一次提交的文件将有很大不同,因为被过滤的文件是 LaTeX 文件,我将段落分成多行。
对于合并提交,这是预期的,也是必要的,但它对只有一个父级的提交执行此操作。
问题
我能做些什么来防止这种行为?
我试过的。
到目前为止,我尝试过的是玩-X theirs
,-X ours
和-s ours
. 这没有奏效。阅读手册它说,在二进制文件的情况下,当-X ours
被指定时,它只是忽略了另一个“分支”(在这种情况下是以前的提交)中的更改,所以我设置*.* binary
了.git/info/attributes
. 万一我把它弄反了,我也用theirs
. 然而,这些尝试都没有产生期望的行为。
最小的工作示例
我一直在用一个简单的三提交 repo 对此进行测试,其中第一个提交是“hello”,第二个是“hello\nwrld”,第三个是“hello\nwrld\n”。where\n
实际上是文件中的一个新行。
然后我选择第一个(根)和第三个(最后一个)提交并编辑中间那个。所做的更改是“hello”到“hello\nworld”(修复了世界中的错字)。然后我提交并继续。
到目前为止,这些已经产生了以下结果:
- 关于空提交的警告
- 在没有警告的情况下删除最后一次提交
- 最后一次提交继承了“修复”
所有这些都是不可取的。
解决方案
推荐阅读
- laravel - 当我尝试使用 nginx 连接到我的 lumen api 时返回 502
- azure-machine-learning-service - 磁盘空间不足
- javascript - 获取输入文本值的 id
- minikube - 如何使用 envconsul 在 pod 中设置 ENV 变量
- python - numpy 从值不为 0 的数组中随机采样
- c# - 使用命名空间的 XML 对象数组反序列化
- phaser-framework - Phaser 3 config TypeError - phaser.scale 未定义
- python - 如何使用 BeautifulSoup 和 requests 抓取受密码保护的网站
- android - 是否可以检测到设备何时屏幕向下?
- r - 如何使用 LDA 对狗和猫数据进行分类?