git - 如何组合提交并推送到远程
问题描述
一开始本地分支是最新的,现在我使用git rebase -i HEAD~3
并修改了pick
两个最新提交中的一个,fixup
以在本地分支合并3个提交,现在我想将本地分支推送到远程。而且我只想在远程显示一个组合提交。但是,合并后本地分支落后于远程两次提交,我无法直接推送。我该如何处理?
解决方案
免责声明:git push --force
是危险的;需要您自担风险使用它。
如果您真的想这样做并合并提交,您可以在本地存储库上使用git squash
然后git push --force
覆盖远程内容。
--
请注意,这git push --force
将更新分支以指向您的新提交,因此旧的提交将永久无法访问,除非您有提交标识符或找到它的方法并且该提交尚未被垃圾收集。这在托管的 git 服务上通常是不可能的,尽管 GitHub 确实有一个活动日志。
此外,git push --force
如果其他人在同一个分支上工作并且不期望更改,则可能会导致问题。
推荐阅读
- vue.js - 无法让 VeeValidate 3.x 使用 VueSelect 处理自定义组件
- dialogflow-es - 我如何在最终用户与 Google Hangout 上的 Dialog flow ChatBot 交谈时获取用户电子邮件、姓名
- c++ - 是什么导致内存出现未处理的异常:堆栈溢出
- r - 如何在 R 中对数据框进行颜色格式化并将表格与表格标题和自定义文本一起导出为 pdf?
- macos - 相对框架路径、强化运行时和公证
- list - Haskell初学者问题,在定义中设置对
- python - 删除numpy数组中某个值的元素一次
- ffmpeg - ffmpeg 如何将静止图像放在完整的 vstack 上?
- mysql - GZIP 压缩对数据库图像有帮助吗?
- python - 为什么我不能在环境 B 中使用环境 A 导入 X