[英]How do I “undo an undo” in git?
要重置我的上一次提交,我這樣做:
git reset --soft HEAD^
但是我做了很多次。 現在,我想回頭幾個。 那可能嗎?
另外,我讓開發人員在生產應用程序上提取並合並代碼,從而完全完成了所有工作。 然后要解決此問題,他手動覆蓋了應用程序源中的某些文件。 有錯誤的提交。 應用程序無法運行。
在Git中,有什么方法可以硬重置到特定的時間點嗎? 我對它還不夠熟悉。
使用git reflog
查看您的位置並重置為該位置。 (或在RESET中使用HEAD@{1}
類的符號)
對於另一個問題,從git log
獲取要重置為的提交的哈希值,然后執行git reset --hard <sha1>
。 或者,如果您想過去重設一些提交,甚至可以執行git reset --hard HEAD@{1 day ago}
等。 由於您要重寫歷史記錄,因此必須強制執行git push -f
另外,為什么開發人員要投入生產? 有門-CI,測試等
在Git中,有什么方法可以硬重置到特定的時間點嗎?
是。 git reset --hard <SHA1-id-of-the-commit-you-want-to-hard-reset-to>
有關git reset
更多信息,請參見此處(在Git中撤消-重置,簽出和還原) 。 要了解數據恢復的基礎知識,請參見ProGit手冊第9章中的“數據恢復”部分 。
關於如何在git中撤消操作的更多提示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.