呃哦......我錯誤地提交了一個非常複雜的更改(包括子目錄和文件重命名),但沒有真正知道我在做什麼(或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