我在我的項目中有6個提交。我想回到HEAD^3,然後逐個嘗試每個提交。我正在尋找引入珠HEAD^3中的錯誤的代碼。我試過 git checkout HEAD^3
但後來所有的改變都丟使用舊的提交的git
-1
A
回答
3
我正在尋找介紹bug HEAD^3到HEAD的代碼。
您應該爲此任務使用git bisect
。
如果您知道問題的起始位置,則註釋文件會有所幫助。
如果你不知道什麼是中斷,並且自從你知道代碼工作的最後一個狀態以來已經有數十次或數百次提交,那麼你可能會轉向git bisect尋求幫助。bisect命令對您的提交歷史記錄執行二進制搜索,以幫助您儘快識別哪個提交引入了問題。假設你只是將你的代碼發佈到生產環境,你會得到關於在開發環境中沒有發生的事情的錯誤報告,並且你無法想象爲什麼代碼會這樣做。你回到你的代碼,事實證明你可以重現這個問題,但你不知道什麼是錯的。
您可以平分代碼以找出答案。首先你運行git bisect start讓事情繼續下去,然後你用git bisect bad來告訴系統當前提交的內容已經損壞。然後,你必須告訴平分,當最後一個已知的良好狀態,使用git bisect好[good_commit] ...
閱讀[這裏]如何做到這一點的完整說明。
下面是關於如何使用它
相關問題
- 1. Git:恢復舊的提交
- 2. Git-歸檔舊提交
- 3. 從Git中刪除陳舊的提交
- 4. 如何刪除Git中的舊提交?
- 5. 如何在Git上應用舊提交?
- 6. 在Git中繼續使用舊的提交
- 7. 提交使用Git
- 8. 舊提交會讓git無法推送
- 9. Git如何恢復舊提交
- 10. Git從舊提交添加代碼
- 11. Git:嘗試與舊提交區別
- 12. 從多個git rebases恢復「舊提交」
- 13. Git filter-branch:可能更新提交消息以引用舊的提交ID?
- 14. 用git標記一個子模塊的舊提交
- 15. 刪除使用Git提交
- 16. 使用GIT顯示比特定格式的特定日期更舊的提交
- 17. git:在檢出舊的提交後,我如何看到下一個提交?
- 18. Git - 如何刪除舊提交而不影響最近提交的sha-1?
- 19. 提交然後簽出git中的另一個分支進行舊提交?
- 20. 使用Nodejs的Git多文件提交
- 21. 是否可以編輯舊的git提交中的文件?
- 22. git:找到`mine`中不存在的`mine`的最舊提交
- 23. Git - 刪除較舊的提交,它的更改從未發生
- 24. python的Git提交
- 25. 我該如何使用git提交當前的主提交?
- 26. 回到github的舊提交
- 27. 如何使用git安全地向特定的linux內核提交舊內核
- 28. 恢復到以前提交使用結帳刪除省略了一些舊的提交git/smartgit
- 29. git恢復已提交的提交
- 30. git看提交id的提交日誌
你想使用git平分 –
你是什麼意思與「後更改將丟失」一個示例代碼?您已簽出較舊的提交。所以當你執行'git log'時,後面的提交在提交歷史記錄中將不可見。這是預料之中的。這並不意味着提交失敗。提交仍然存在於您的git存儲庫的對象數據庫中。您仍然可以在簽出HEAD^3之前執行'git checkout'或'git checkout '返回您所在的分支。之後,你會再次在'git log'中看到整個歷史。 –
Alderath