gpt4 book ai didi

git - 删除旧提交 : `git rebase` causes merge conflicts

转载 作者:太空狗 更新时间:2023-10-29 13:21:15 24 4
gpt4 key购买 nike

不幸的是,前段时间我们不小心 checkin 了一个大型二进制文件,直到今天还没有人注意到。现在我想放弃那个提交并保留剩余的历史记录。我知道更改推送历史记录的注意事项,但在这种情况下我无法避免。

我一直在努力实现这一目标 ~1 小时,但未能实现。我找到的最好的命令是

git rebase --interactive --preserve-merges $(EVIL_COMMIT)^

并在编辑器中注释掉第一个提交,这是一个邪恶的提交。

不幸的是 git rebase 在 merge 时停止并提示手动解决 merge 冲突。邪恶的提交只添加了一些示例文件,我们的软件将计算用于测试目的。因此,它们不应该与刚刚丢失的示例文件有任何冲突。

  1. 我不明白 merge 冲突从何而来。有人可以解释一下吗?
  2. 如何解决?

我在 Google 和 SO 搜索上花了很多时间。一些线程涵盖了类似的主题,但要么 syntax used is not available在今天的 Git 版本中,或者它对我不起作用(我只在上面描述了一种方法,因为它是最简单的方法)。

最佳答案

我会选择 filter-branch:

git filter-branch --prune-empty --index-filter '
git rm --cached --ignore-unmatch path/to/file
' --all

关于git - 删除旧提交 : `git rebase` causes merge conflicts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com