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

时间:2013-08-01 08:50:11

标签: git git-revert

如果这个问题已被提出并回答,我很抱歉,但我无法找到它。

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

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

2 个答案:

答案 0 :(得分:0)

使用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

有关详细信息,请参阅this article

答案 1 :(得分:0)

尝试


git checkout master 

git reset --hard origin/master