使用git,如何在提交之前将主分支移回状态?

时间:2017-06-15 03:41:23

标签: git

我在github上分叉了一个存储库,然后将其克隆到我的机器上。我做了多次提交,但后来决定我应该对新分支进行更改而不是掌握。所以我从最近的提交中创建了一个新分支,并继续在新分支上进行更多更改。我将新分支推回到我的回购分支中,一切似乎都很好。

在我在本地机器上掌握的变化中,我从未将任何东西推回到仓库。至少,我并没有像#34;掌握"那样推动他们。因此,当我查看主人时,它表示它在原点/主人之前提交了18个。

我想"备份"我的本地主人在回购中匹配主人的状态。我想保留我所做的所有提交,但只能通过另一个(cwworking)分支。

没有其他人在使用我的git hub repo,所以没有任何混淆任何其他开发人员的问题。

这不仅仅是告诉git做主分支"指向"到正确的旧提交?我希望我的本地机器上的主机指向0b58da67,就像它在我的仓库中一样。我怎么做?它不是这么简单吗?

2 个答案:

答案 0 :(得分:0)

以下答案假定您错误地向GO BACK提交了一些提交(让我们说3),您实际上打算进入新分支。然后,您推送了master,但现在您在master之上有三个不需要的提交。你可以用这个来核对这三个提交:

master

此时,您应该可以毫无困难地从遥控器中拔出最新的git checkout master git reset --hard HEAD~3 分支:

master

一般情况下,git pull origin master 应谨慎使用。但在这种特殊情况下,没有其他人看到这三个提交,你不想在那里。

答案 1 :(得分:0)

最容易重置这么多提交(18)并将分支指向远程头,是在本地删除分支,并再次获取远程分支。

git checkout otherbranch
git branch -d master
git fetch
git checkout master