git - 删除其他提交的合并提交中间
问题描述
在我们的团队中,我们flat git history
通过从其他分支变基来维护。feature
并从一个分支合并到另一个dev
分支。
错误地,我将一个分支合并到另一个分支。合并后,我还在当前分支中提交了一些更改并推送。然后我发现我们不这样做。我当前的 git 历史看起来像这样。
如您所见,我不需要合并的提交。我想删除该提交,保留之前和之后的提交。如果我可以完全删除该提交,我可以轻松地再次重新设置该分支。
我怎么能这样做?
一种方法可能是,虽然还没有尝试,但我可以创建一个新的分支,挑选更改,然后从本地和远程删除这个分支。
解决方案
如果这些更改是本地的,而不是推送的,请尝试使用 git rebase -i 下面是一些关于如何使用 git rebase -i 的教程(不幸的是它们不包括删除选项)
- https://www.youtube.com/watch?v=e26Zx9K3cdQ&feature=youtu.be&ab_channel=Du%C5%A1anDimitri%C4%87
- https://www.youtube.com/watch?v=4CsY1qXCs_0&t=23s&ab_channel=Du%C5%A1anDimitri%C4%87
还要检查这个线程是否不能解决你的问题
推荐阅读
- wordpress - Weglot 与 WordPress 和 Woocommerce
- angular - 从组件内部发射到超级组件
- php - 无法定义 laravel 视图的 href 元素
- typescript - 如何从 TypeScript 中的未知类型对象中读取密钥
- java - 可选择在 Streams API 函数调用链的中间调用 .distinct()
- angular - 有没有办法完全删除 spring Security 提供的凭据页面并使用自定义身份验证提供程序进行 CSRF 实现?
- javascript - 如何使用
- python - 如何在python中出现异常后重复代码
- c++ - 白屏(OpenGL)
- javascript - 为什么状态会突然?