git rebase 忽略冲突

git rebase ignore conflicts

我有一个分支,上面有很多(400+)小的,大部分是独立的,由 refactoring/linting 工具生成的更改。

我使用 git 对分来隔离导致测试失败的提交。

我希望将有问题的提交之后的所有提交变基到它之前的提交,实际上忽略了该建议。但是,其他一些(通常少于 3 个)提交将取决于该更改。

有没有办法告诉 rebase 只 skip/ignore 任何会冲突的提交并保留其余的提交?

使用 git rebase --skip 进行变基时可以跳过提交。

一种天真的方法是跳过所有停止变基的提交:

while git rebase --skip; do :; done

上面是一小段shell代码,会执行命令行git rebase --skip直到失败。

它不会失败,当它无法应用更改时,而是会停止变基。然而,当你不做变基时它会失败,当所有东西都变基时就是这种情况。

:只是一个空命令,除了成功退出什么都不做。使用它是因为 shell 脚本中的 while 循环需要一个主体。