好的,我显然在这里有一点问题,了解我必须做些什么才能做到这一点。
我已经向远程主人推了很多提交,我现在想要压制。为此,我启动了git rebase -i HEAD~20
会话,并使用squash
将压缩一些提交合并为一个。
在我能够解决的一些冲突之后,我留下了一个"缩短了"我的本地分支的版本 - 但此时我不知道如何将它放到远程分支上。
如果我运行git status
,它会告诉我本地和主分支在1和11次提交中有所不同。
如果我此时运行git pull
,整个rebase
行动都会撤消,我会回到我开始的地方。
基本上我从以下的方式出发:
a b
o-->o-->o-->o-->o-->o
\ /
o-->o-->o
到
a b
o-->o
但只有本地。如果我推送本地,我可以压缩遥控器上的提交吗?
答案 0 :(得分:2)
您使用的条款存在一些混淆。
有这样的事情是推送本地的'。 push
操作是从您的本地到远程。
因此,如果您推送了更改,则会在远程存储库中共享它们。
分享这些更改后,建议不要压缩它们。由于任何已经pulled
您的更改的人都会遇到问题。
虽然有可能。 你需要强制推动你的改变。
git push -f
答案 1 :(得分:1)
是。只需按git push -f
进行强制推送。