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