0

我知道這裏有很多問題,但沒有解決方案爲我工作。這是發生了什麼:如何恢復從git提交更改?

我試圖在我的應用程序中添加一個新功能,所以我創建了一個新的分支來實現此功能。
我完成後,我將它合併到master,刪除了我測試新功能的分支,並將更改推送到存儲庫(bitbucket btw)。代碼是正常的

然後我需要添加其他功能壽。
然後我再次創建了一個新分支,但現在我在master中測試了這個其他新功能,並讓其他分支使用「正確」代碼。

新功能沒有工作,所以我試圖去其他分支併合併到主,刪除我所做的更改,它給了我一個合併衝突壽,我嘗試了一切,但我只是沒有'能夠做到這一點。

我切換回主,並刪除與正確的代碼分支。
我在主人的錯誤代碼。
我還沒有推動變化,只提交,所以我試圖尋找如何解決這個問題,沒有工作。

我然後跑這個命令:git checkout NUMBER OF THE COMMIT

我檢查了最後推提交,其中有正確的代碼。

我的項目更改爲正確的代碼,我認爲一切正常,我認爲它恢復了更改。

我跑git status,那就是輸出:

HEAD detached at f49fb28 
Changes not staged for commit: 
(use "git add <file>..." to update what will be committed) 
(use "git checkout -- <file>..." to discard changes in working directory) 

modified: .DS_Store 
modified: Homework.xcworkspace/xcuserdata/Henrique.xcuserdatad/UserInterfaceState.xcuserstate 

no changes added to commit (use "git add" and/or "git commit -a") 

我然後跑git add -Agit commit -m "some message"一起和它推到了回購思維,代碼會得到固定在那裏。它沒有壽,現在我的回購和項目有相同的代碼,錯誤的代碼。是否有可能我使用RIGHT特性檢出了提交,而不是錯誤的提交,並且我的代碼恢復爲完全提交?如果沒有,我唯一的救贖就是重做一切。

請幫助我!

編輯:我跑git status輸出功率爲現在不同了:

HEAD detached from f49fb28 
Changes not staged for commit: 
(use "git add <file>..." to update what will be committed) 
(use "git checkout -- <file>..." to discard changes in working directory) 

modified: Homework.xcworkspace/xcuserdata/Henrique.xcuserdatad/UserInterfaceState.xcuserstate 

no changes added to commit (use "git add" and/or "git commit -a") 

回答

0

難道我結帳提交我用正確的功能

首先製成閱讀所附評論中的完整答案。

要總結你現在可以簡單地使用git reflog簽出所需的提交。

這裏是一個引用日誌怎麼會是這樣的:

enter image description here