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

时间:2015-01-09 13:50:21

标签: git bitbucket

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

“提示:更新被拒绝,因为您当前分支的提示落后了 暗示:它的远程对手。“

检查拉给了我远程信息,我试图推动包含“功能”分支的所有更改。所以首先猜测 - 我已推到错误的远程分支。但是我也看到了遥控器中的特色分支(可能是后者我推到右侧)

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

如果您尚未撤消远程更改,则可以强制执行push

git push origin +master --force

这会将远程主分支(以及主分支,即+所用的)的状态设置为本地分支所处的状态。

如果您已经下拉了更改并合并/重新定位,那么您需要让您的本地分支进入您希望遥控器进入的状态。您可以使用reset执行此操作:< / p>

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

然后做力推。