我在某个分支中得到了一些重复提交,每个提交都有相同的更改.它是一个公共分支,由几个用户从几个分支合并.我需要定期将这个分支重新绑定到另一个repo的主分支上,这些重复使它变得笨拙.
有没有办法删除这些并将它们推送到公共仓库,这使得从分支机构工作的其他用户变得复杂?
在这种情况下,过滤分支不是必需的,恕我直言,正如 Jefromi 所提到的,如果不让其他人的生活变得有点复杂,这是不可能的。Git 的第一条规则 - 不要重写已发布的历史记录。
如果你真的想清理已经搞砸的分支,那么你应该在本地重新设置它的基础,重新排列提交并在需要时将其强制推送到主线。
为了做到这一点(想象一下分支是在本地签出的,并且在您开始获取这些重复项之后的最后一个已知良好状态是 20 次提交之前)
git checkout yourPublicBranch
git rebase -i HEAD~20
Run Code Online (Sandbox Code Playgroud)
这将启动编辑器,您可以在其中管理提交。然后你必须保存文件并退出 rebase 才能开始工作。这可能会导致冲突。
| 归档时间: |
|
| 查看次数: |
5063 次 |
| 最近记录: |