[英]How to create a pull request from reverted Git commit?
我有一個主分支,我錯誤地將提交推送到該分支。 我應該將其推送到功能分支。 所以,我已經從主分支恢復了那個提交,並推送了一個恢復:
git revert <commit-hash>
git push
然后我創建了一個新的功能分支,我想使用我錯誤推送到主分支的提交。 我已經選擇了對該分支的提交:
git cherry-pick <commit-hash>
當我做git status
時,我得到:
沒什么可提交的,工作樹干凈
由於我想從該分支發出拉取請求,因此沒有提交就無法完成。 如何使恢復的提交顯示為功能分支上的新提交?
摘櫻桃后,工作樹是干凈的,所以 git 狀態是正確的。 您剛剛挑選的櫻桃就是您想要的提交。 所以不要擔心,要快樂。 推你可愛的新分支!
您可以git revert
已還原的提交。 恢復創建一個新的提交,取消恢復的提交,如果你恢復一個恢復提交,它會恢復更改。
Cherry pick 的行為可能出乎意料,因為歷史仍然包含您正在挑選的提交。 它看到提交已經在您的分支的歷史記錄中。
編輯:從頭開始。 如果您只是擔心git status
是干凈的,那么馬特的回答是正確的。 Cherry pick 已成功並將更改提交到您的分支(它有效地為您完成了git commit
- 帶來了更改、消息和其他提交元數據)。
如果您查看git log
,您應該會看到精心挑選的提交。 要檢查舊提交中的更改,您可以執行git checkout SHA_HASH some_file.txt
,然后將其顯示為工作副本中未跟蹤的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.