我对master分支的最后一次提交是我想要回到原点的地方。我做了一个分支并提交,甚至将它合并到主分支。但是,在合并该分支后,一切都会出错。
我想完全删除该分支并将所有内容恢复到上一次主提交。我该怎么做?
PS:我确实试过了git branch -D [branch-name]
(如果我不合并到主分支,效果很好),但错误的文件和目录仍在主分支中
答案 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}