在HEAD版本中,我有一個錯誤,當我在master分支上時,會拉另一個分支,以致一些新文件或目錄已被合併到另一個分支的主分支中。我意識到這是一個非常大的錯誤。所以我使用「git reset xxx」來恢復到xxx提交版本。但是,在完成命令後,我真的回到了xxx提交版本,這些新文件或目錄也在那裏。這個動作有什麼問題?我是否採取了錯誤的命令?我只想回到一個乾淨的舊的提交版本,沒有任何錯誤的拉動作的變化。謝謝!在Windows上的「git reset xxx」命令不會執行與linux相同的操作?
回答
要回到舊的承諾,放棄所有更改:
git reset --hard commit-id
沒有--hard
開關,你正在做一個混合復位這意味着變化將仍然在你的工作集被保留。 --hard
開關也擺脫了這些。
如果你還想再刪除任何未跟蹤文件:[?撤消一個Git合併]
git clean -f
「git clean -f -d」很好,謝謝。更重要的是,爲什麼我在窗口上使用「git reset xxx --hard」,在HEAD版本中跟蹤的新文件或目錄在xxx版本中變成未跟蹤狀態? – xohozu
@xohozu因爲正確的語法是'git reset --hard xxx',而不是'git reset xxx --hard'。 – VonC
@VonC'git reset --hard xxx'和'git reset xxx --hard'沒有區別。一般來說,Git允許命令行選項顯示在參數之前或之後。你看到不同的行爲? – jszakmeister
- 1. `git reset HEAD〜2`是否與運行兩次`git reset HEAD`相同?
- 2. PHP執行vs在linux終端執行相同的命令
- 3. 執行Windows命令行操作
- 4. Windows上的命令行Git
- 5. 在java中執行與linux管道相同的操作?
- 6. 從命令行的Git操作刪除權限爲Windows的git
- 7. 在git push上執行git命令
- 8. 執行與推動相同的操作的指令序列
- 9. 執行git的命令
- 10. gitlab不執行Git的git命令
- 11. 在執行命令後,double-dash會執行什麼操作?
- 12. git克隆在代理 - 不同的行爲,相同的命令
- 13. 'git reset --soft'是否爲無操作命令?
- 14. 命令「ruby」在我的Mac上不執行任何操作
- 15. 的Linux find命令操作
- 16. 與Github與Bitbucket相同/不同的命令?那麼git-sh呢?
- 17. Windows C#執行linux dd命令
- 18. Ruby在Linux上執行Bash命令
- 19. 在Linux Centos上執行ping命令不起作用
- 20. 在Linux中執行命令
- 21. Git別名與Linux命令
- 22. 不同的命令提示窗口中不執行相同的命令
- 23. ssh命令不會返回與在ssh下執行的命令相同的結果
- 24. linux上的「git-svn clone」與mac上的「git svn clone」相同嗎?
- 25. Linux命令行與Linux命令管道
- 26. sed命令不會執行任何操作
- 27. 使在Linux和Windows上工作的命令行參數
- 28. 從JSF 2中的相同命令調用不同的操作
- 29. 從UNIX/LINUX機器在Windows計算機上執行命令
- 30. pyCaffe不會給出與命令行界面相同的結果
的可能重複(http://stackoverflow.com/questions/2389361/undo-a-git-合併) – Joe
對不起,但它不能解決我的困惑。 – xohozu