簡體   English   中英

如何從舊提交還原文件?

[英]How do you revert a file from an old commit?

我提交了一段我本不想提交的代碼。 (幸運的是不在主分支上)

該文件進行了更改,以在從屬系統關閉時使用臨時解決方法,因此我可以繼續開發手頭的任務。 系統修復后,我刪除了解決方法。

問題是我在該文件上進行了此更改,而當我意識到自己做到這一點時,就像在5次提交之后一樣。

無論如何,我可以從提交中刪除該更改的列表,因此它不會出現在拉取請求下。

當然。...假設您在my-branch〜5上添加了文件。 然后,您可以執行以下操作:

git checkout my-branch~5
git rm --cached the-file.txt # remove for git only, keep file on working tree
git commit --amend --no-edit # create new revision without the file
git cherry-pick my-branch~5..my-branch # replay old branch history
git branch -f my-branch # set my-branch where I am right now
git checkout my-branch # check it out so I can continue working

問題是提交歷史記錄還是提交的代碼?

我不知道您是否可以刪除提交歷史記錄。 我實際上不建議您是否可以。 但是你可以:

  • 撤消提交。
  • 或者只是簡單地再次提交文件而無需更改。

任何更改將自動在您的PR中考慮。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM