【发布时间】:2011-10-01 06:29:32
【问题描述】:
呃哦...我错误地提交了一个相当复杂的更改(包括子目录和文件重命名),却不知道我在做什么(或者 Git 会做什么)。
我现在想撤消以下所有操作:
- commit 完全反转(好像 它从来没有做过,也许 也将其从历史中删除)
- 恢复当前工作目录
(其中
.git是)到某个 分支(现在最后一个)。
我发现了对git reset --soft 和git reset --hard 的引用,但我已经向自己证明,在不完全理解命令的情况下过早使用命令会造成真正的损害。 :)
我找到了git reset man page,但我仍然很困惑:
-
HEAD是什么? - 两者有什么区别
HEAD和* master? - 在我的情况下(见上文)我会
需要使用
--soft、--hard或 其他(另外 3 个选项)? - 我是否需要运行另一个命令
(在做
git reset之后)到 “敲定”逆转?
更新:阅读以下答案后:
- 我是否正确理解所有我
在我的情况下需要做的是问题
单个命令
git reset --hard HEAD^? - 如何验证是否已撤销 执行正确吗?
【问题讨论】:
-
既然你是学git的,那我给你推荐两本书:git community book和pro git,都是完全在线的。
标签: git git-reset git-revert