如何将主分支恢复到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