在我推送到错误的远程分支后恢复



我有一个主分支,然后决定开发新功能并为其创建分支。在我做了一些事情之后,我把它推到了远程。然后我切换到 master,并继续工作,它做了一些功能。我试图将其推送到远程,并收到消息,我必须首先拉到:

"提示:更新被拒绝,因为您当前分支的提示落后提示:它的远程对应物。

检查拉动为我提供了远程信息,我正在尝试推送以包含"功能"分支的所有更改。所以首先猜测 - 我推错了远程分支。但是我也在遥控器中看到特色分支(可能是后来我已经推到了右边)

我是唯一的贡献者,所以我有权还原任何内容等。从上次推送恢复远程分支的最佳策略是什么(我使用 bitbucket)?

如果您还没有拉下远程更改,您可以执行强制推送:

git push origin +master --force

这会将远程主分支的状态(并且仅将主分支,这是 + 的用途)设置为本地分支所处的状态。

如果您已经拉下更改并合并/变基,则需要将本地分支置于您希望远程处于的状态。您可以通过重置来执行此操作:

git reset --hard <hash of commit you want to be last on master>

然后做力推。

假设您已经提交了所有更改,请使用以下命令:

git checkout master
git reset --hard <commit_id_you_wish_to_reset_your_master_to>
git push --force origin master

最新更新