呃哦......我错误地提交了一个非常复杂的更改(包括子目录和文件重命名),而我并不真正知道我在做什么(或者 Git 会做什么)。
我现在想撤消所有这些:
- 提交被完全逆转(好像它从未完成过,也许也将它从历史中删除)
- 将当前工作目录(在哪里
.git
)恢复到某个分支(现在最后一个)。
我找到了对git reset --soft和git reset --hard的引用,但我已经向自己证明,在不完全理解命令的情况下过早使用命令会造成真正的损害。:)
我找到了git reset 手册页,但我仍然对以下内容感到困惑:
- 是什么
HEAD
? HEAD
和 和有什么不一样* master
?- 在我的情况下(见上文),我需要使用
--soft
,--hard
还是其他(另外 3 个选项)? - 我是否需要运行另一个命令(在执行之后
git reset
)来“完成”反转?
更新:阅读以下答案后:
- 我是否正确理解在我的情况下我需要做的就是发出一个命令
git reset --hard HEAD^
? - 如何验证是否正确执行了冲销?