在任何提交之前将主分支移至原始状态

我很抱歉如果这个问题已经被问及答案,但我不能找到它。

基本上,我没有创建分支,而是在主分支中实现了一个应用程序的alpha版本,并在旧应用程序的分支版本的顶部提交了几次。

是否有可能将主分支恢复到原始状态?


使用git log来显示提交到master分支。 根据这些信息确定您想要删除的提交数量。

$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number

然后使用git rebase删除指定的提交数量。

git reset --hard HEAD~3 <--- Number of commits

请注意,使用--hard将导致所有当前更改丢失。 这个答案也假设你想要删除的提交是按顺序进行的。

如果您在协作环境中工作,则使用git revert而不是reset 。 这将发出一个覆盖旧提交的新提交。

git revert HEAD~3..HEAD  <--- 3 being number of commits to overwrite

有关更多信息,请参阅此文章。


尝试


git checkout master 

git reset --hard origin/master

链接地址: http://www.djcxy.com/p/37815.html

上一篇: Moving master branch to original state before any commits

下一篇: I want to revert to a backed up copy of my App