我只是推動了生產網站,所有的變化都在主人面前。但我意識到我推的代碼需要改變,所以我需要恢復上次提交,但從該提交中獲取所有代碼,並將其放在另一個分支中,以便稍後可以推送它....任何方式來執行此操作如何恢復主分支上的前一個提交併將代碼保存到另一個分支?
-1
A
回答
3
有很多方法可以解決這個問題。
這是我會怎麼做(用一些額外的保險)
假設你的頭在「錯誤的地方」(沒有雙關語意),你可以
git branch rescue
# you are still on master
git reset HEAD^ # soft resets the last commit
git push -f # to undo the push - beware of other users of the push-branch
現在編輯/解救你就地提交(因爲最後一次提交的更改現在正在等待)。如果出現緊急情況,您可以隨時結賬rescue
分行,這是您開始此職位時HEAD的副本。
1
我建議使用更正恢復提交來修復已推送的提交。您也可以安全地從恢復的提交開始您的實驗。另請參見Git Community Book, Undoing in Git
git revert HEAD
git push
重寫已經發布的提交被認爲是不好的做法(引自同款):如果你犯了一個提交
固定犯過的錯誤
,你以後想你有沒有,有兩個 根本不同的方式來解決這個問題:
您可以創建一個新的提交是撤銷無論是d一個由舊的 提交。如果你的錯誤已經被公開發布,這是正確的。
您可以返回並修改舊的提交。如果 已經公開歷史,您絕不應該這樣做; git通常不會期望 項目的「歷史」發生更改,並且無法正確執行 從歷史更改的分支重複合併。
另請參見Pro Git, Rebasing爲什麼這不好。
0
相關問題
- 1. 將提交從一個分支移動到另一個分支
- 2. 如何將所有提交從一個分支移動到另一個分支?
- 3. 如何將特定提交複製到另一個分支?
- 4. 如何恢復合併到另一個分支的變更集?
- 5. 移動合併提交回舊分支,恢復主分支並保持更改
- 6. 將多個提交從一個分支移動到另一個分支?
- 7. 合併提交從主分支到另一個分支,但不合並兩個分支
- 8. 如何將文件從一個git分支複製到另一個分支並保存爲不同的文件?
- 9. 將SVN從一個分支複製到另一個分支
- 10. SVN - 將一個分支合併到另一個分支?
- 11. vscode - 將一個分支合併到另一個分支
- 12. Git:將提交的一部分應用到另一個分支
- 13. Git:合併多個提交從一個分支到另一個
- 14. 如何將一系列提交添加到另一個分支?
- 15. 合併本地分支到主分支的代碼,但作爲單個提交
- 16. 如何將分支(或指定的提交)移動到另一個分支?
- 17. Git推送交叉分支,從一個分支獲取提交到另一個
- 18. GitHub:將主提交應用到另一個分支
- 19. Git:將提交從主控移動到另一個分支
- 20. 合併從一個分支提交到另一個
- 21. 由SVN中的另一個分支替換的恢復分支
- 22. 如何合併之前提交的另一個分支中的一個文件
- 23. 將代碼恢復到主機中的上一個提交
- 24. 在一個分支上計數提交不在另一個分支上
- 25. 如何在Git中將特定的提交從一個分支合併到另一個分支?
- 26. 如何恢復主分支到上游
- 27. 如何將一個分支複製到另一個分支而不管更改?
- 28. 如何在Git中將一個分支複製到另一個分支
- 29. 如何將文件從一個分支複製到另一個分支?
- 30. git cherry將一個提交到另一個分支
我做我的本地......基本上是本地是我在做推和生產是我在哪裏做「git拉起源大師」 – Trace
但我需要恢復生產,雖然正確 – Trace
你做你想解決問題的地方(大概是地方)。你是否已經「拉」生產方?如果不是,你是好的,但除此之外,生產將不得不被拉動'--force' – sehe