我在一个分支中有几个提交,但我注意到有些问题,所以我回到了之前的提交(checkout),做了一些更改,现在一切都好了。
但问题是,我无法推送,因为git要求我先拉取,但我不想拉取,因为它会合并,而我不想要这个。
我只想要我的当前本地提交成为第一个或最新的提交。
这种情况怎么办呢?
我在一个分支中有几个提交,但我注意到有些问题,所以我回到了之前的提交(checkout),做了一些更改,现在一切都好了。
但问题是,我无法推送,因为git要求我先拉取,但我不想拉取,因为它会合并,而我不想要这个。
我只想要我的当前本地提交成为第一个或最新的提交。
这种情况怎么办呢?
只是为了将 @quetzalcoatl 的评论变成答案...
git push --force
...将分支在远程的HEAD
移动到当前提交,即使该提交在远程HEAD
指向的位置之前。
这适用于撤消最近的提交,即使已经push
了它。使用reset --soft
将当前HEAD
后移,然后使用push --force
将头更新到远程。