我对 master 分支的最后一次提交是我想要恢复所有内容的地方。我创建了一个分支并提交,甚至将其合并到主分支。但是,在我合并该分支后一切都出错了。
我想完全删除该分支并将所有内容恢复到最后一次主提交。我怎么做?
PS:我确实尝试git branch -D [branch-name]
过(如果我不合并到主分支,效果很好),但是错误的文件和目录仍然在主分支中
我对 master 分支的最后一次提交是我想要恢复所有内容的地方。我创建了一个分支并提交,甚至将其合并到主分支。但是,在我合并该分支后一切都出错了。
我想完全删除该分支并将所有内容恢复到最后一次主提交。我怎么做?
PS:我确实尝试git branch -D [branch-name]
过(如果我不合并到主分支,效果很好),但是错误的文件和目录仍然在主分支中
签出主分支 ( git checkout master
)。然后查看日志 ( git log
) 并复制您想要返回的提交的 SHA。
然后使用以下命令重置回该提交:
git reset --hard whatever_your_sha_is
SHA 的一个示例是 f75b7ca5beb502e7f99434ea47e631bdd18fef13。如果您希望将所做的更改保留为分阶段更改,还可以使用 --soft 开关,并使用 --mixed 开关将它们保留为非分阶段更改。
然后,如果您仍然愿意,您可以删除您的分支。
PS git reset 命令非常有用,我在这里写了一篇关于它的博客文章或查看任何著名的 git 网站以获取有关如何使用它的更多提示。
你应该申请:
git branch -D [branch-name]
git checkout master
您已经创建了一个新分支并在签出后提交了它。所以你的主人没有你所做的改变和承诺。您可以简单地删除您创建的分支并签出您的主分支
如果您已经对主分支进行了一些提交并且您想要回滚。你可以做。
git reflog
你选择你想去的提交。例如:HEAD@{25},然后你申请
git checkout master
git reset --hard HEAD@{25}