从主分支创建一个新分支,然后将主分支还原到特定的提交。

9
我想从主分支(master)创建一个新分支,然后将主分支(master)回滚到某一个特定点。如何用git实现这个功能?
1个回答

11

git checkout master 切换到主分支
git branch newBranch 创建新分支
git reset shaToResetMasterTo 将主分支重置到指定的提交版本


现在远程仓库领先于许多提交。我如何将我的还原更改推回去?是否有一种按范围还原的方法?例如 git revert HEAD^..shaResettedTo - Chris Ledet
1
不确定我是否理解您的意思。您是想让newBranchmaster在同一位置吗? - Andy
不,我想要类似于“git reset shaHere”的东西,以提交撤销所有先前的更改,以便master不落后于remote/master。有意义吗?类似于“git revert <sha>”,但是它只还原一个提交。 - Chris Ledet
1
啊,我误读了你的评论。如果正在跟踪远程主分支,则 git push remote master 将把 remote/master 推送到正确的位置。 - Andy
1
你应该将最后一行更改为git reset --hard shaToResetMasterTo - xyz
如果你不这样做,prakharsingh95的注释是至关重要的;在shaToResetMasterTo之后的更改将保留为本地更改。这将还原那些更改。尽管任何在该sha之后创建的文件仍将存在。 - Matt Molnar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接