如何删除分支并回滚到工作主分支

时间:2012-12-25 00:27:33

标签: git

我对master分支的最后一次提交是我想要回到原点的地方。我做了一个分支并提交,甚至将它合并到主分支。但是,在合并该分支后,一切都会出错。

我想完全删除该分支并将所有内容恢复到上一次主提交。我该怎么做?

PS:我确实试过了git branch -D [branch-name](如果我不合并到主分支,效果很好),但错误的文件和目录仍在主分支中

2 个答案:

答案 0 :(得分:3)

签出主分支(git checkout master)。然后查看日志(git log)并复制您要返回的提交的SHA。

然后使用以下命令重置回该提交:

git reset --hard whatever_your_sha_is

SHA的一个例子是f75b7ca5beb502e7f99434ea47e631bdd18fef13。您还可以使用--soft开关,如果您希望保留您作为分阶段更改所做的更改,并使用--mixed开关将它们保留为未分级更改。

然后你可以删除你的分支,如果你还想。

P.S。 git reset命令非常有用,我写了一篇关于它的博客文章here或者查看任何一个着名的git网站,了解有关如何使用它的更多提示。

答案 1 :(得分:1)

你应该申请:

git branch -D [branch-name]
git checkout master

您已经创建了一个新分支,并在结帐后对其进行了提交。所以你的主人没有改变并承诺你做了。你可以简单地删除你创建的分支并检查你的主分支
如果你做了一些提交要掌握,你想要回滚。你可以做。

git reflog

你选择了你想去的提交。例如:HEAD @ {25},然后你申请

git checkout master
git reset --hard HEAD@{25}