如何将主分支恢复到git中的标签?

我们有分支机构的起源和发展。 master的初始状态在tag_ABC处被标记。

我们对开发分支做出了很less的改变,并推到了原点。 然后我们不小心将发展合并为主,并推到原点。

现在我们想把master恢复到检查点tag_ABC 。 我们怎么做到这一点?

你可以做

 git checkout master git reset --hard tag_ABC git push --force origin master 

请注意,这会覆盖上游回购库中的现有历史logging,并可能为其他开发者检出此回购库带来问题。

这不是对问题的直接回答,但当search将分支代码恢复到标签发布的方法时,此页面会回来。

另一种方法是在分支的当前状态和要恢复的标签之间创build差异,然后将其应用于分支。 这将保持版本历史正确,并显示正在进行的更改然后再次返回。

假设你的分支叫做分支,你想要返回的标签叫做1.1.1

 git checkout 1.1.1 git diff master > ~/diff.patch git checkout master cat ~/diff.patch | git apply git commit -am 'Rolled back to version 1.1.1' git push origin master