一开始本地分支是最新的,现在我使用git rebase -i HEAD~3
并将两个最新提交的pick
修改为fixup
以合并本地分支的 3 个提交,现在我想将本地分支推送到远程分支。我只想在远程显示组合提交。 但是,合并后本地分支落后于远程两次提交,我无法直接推送。我该如何处理?
免责声明:git push --force
是危险的;使用它的风险由您自己承担。
如果您真的想这样做并合并提交,您可以使用git squash
在本地存储库上执行此操作,然后git push --force
以覆盖远程上的内容。
--
请注意,git push --force
将更新分支以指向您的新提交,因此旧提交将永久无法访问,除非您有提交标识符或找到它的方法并且提交尚未被垃圾回收。这在托管的 git 服务上通常是不可能的,尽管 GitHub 确实有一个活动日志。
此外,如果其他人在同一分支上工作并且不希望发生更改,则git push --force
可能会导致问题。