2016-09-21 37 views
0

我在分支“主”。 我有这样的git的历史:正确的方法来清除主人的git历史

333 (#82) 
444 (#83) 

然后我做了一些提交和恢复(222-> 111-> 010-> 789-> 456-> 123):

123 Revert "(#84)" 
456 Revert "(#81)" 
789 Revert “(#81)" 
010 Revert "(#86)" 
111 (#86) 
222 (#84) 
333 (#82) 
444 (#83) 

我需要以某种方式要清除这些错误的步骤(222-> 111-> 010-> 789-> 456-> 123)回到历史回到:

333 (#82) 
444 (#83) 

这将是确定的,如果我做的:

git rebase -i 333 

并且会抛出错误的提交? 然后

git push -f 
+0

您是否按提交并恢复? – Francesco

+0

[如何将Git存储库恢复到之前的提交?](http://stackoverflow.com/questions/4114095/how-to-revert-git-repository-to-a-previous-commit) –

回答

1

假设你没有推提交和恢复,做到以下几点:

git reflog 

这会给你OPS的列表(含所有将恢复并提交)在按时间顺序排列。找到最后一个稳定的提交,并以[email protected]{somenumber}的形式找到它的头部。然后回落到提交,请执行以下操作:

git reset --hard [email protected]{somenumber} 
+1

我想他已经知道散列,这是'333',所以命令将是'git reset --hard 333' – Francesco