呃哦......我错误地提交了一个非常复杂的更改(包括子目录和文件重命名),但没有真正知道我在做什么(或Git会做什么) 。Git:如何撤消提交*和*恢复到最后一个分支
我现在要撤消一切使得:
- 提交时完全相反(好像 它从来没有做过,也许 从历史记录中删除它)
- 恢复当前的工作目录 (其中
.git
是)到某个 分支(最后一个会做)。
我发现引用git reset --soft和git reset --hard,但我已经证明了自己,我可以提前使用命令没有完全理解它做实的伤害。 :)
我发现git reset man page但我仍然困惑,:
- 什么是
HEAD
? -
HEAD
和* master
有什么区别? - 在我的情况(见上)我 需要使用
--soft
,--hard
或 其他(3更多的选择)? - 我是否需要运行另一个命令 (在做完
git reset
之后)至 “最终确定”逆转?
UPDATE:阅读下面的答案后:
- 我是否理解正确的话,所有我 需要我的情况做的是问题 一个命令
git reset --hard HEAD^
? - 如何确认逆转是否正确执行 ?
既然你在学习git,那么让我给你推荐两本书:[git community book](http://book.git-scm.com/index .html)和[pro git](http://progit.org/book/),它们都完全在线。 – shelhamer
@Shelhamer谢谢! – WinWin