[英]GIT: forgot to commit and have made new changes. How to undo new changes, commit then redo changes?
我有一個文件,我應該承諾,但忘了一切。 我繼續對文件進行更多更改。 我想要做的是恢復到我應該提交的位置,在那時做一個提交,但仍然得到我的新更改。 我如何以最經濟的方式做到這一點?
謝謝。
編輯:只是解釋一下流程。
我現在要做的是保存我最近的更改(因此git stash可能在這里派上用場,謝謝!)回到第二個項目點,提交,然后繼續。 有沒有辦法達到中間未提交的觀點?
進一步編輯:
我認為我不能解釋的是,上面的第二點沒有提交。 在該狀態中,它不屬於先前的提交,而是屬於尚不存在的新提交。
您無需撤消更改,只需使用git add --interactive
如果通過“忘記提交”你的意思是忘記“推”,那么...有希望:)
如果您已將之前的更改提交到本地git倉庫,則可以使用git stash將新更改保存在“存儲”中並還原它們。 (您可以使用相同的命令從存儲中恢復更改..請參閱鏈接)
如果你還沒有提交,你可以使用git stash:
git stash
git add newfile
git commit --amend # update old commit that should have had the file added
git stash pop # unsaved changes restored and merged
否則,您需要立即提交文件,隱藏所有其他更改,並使用git rebase --interactive
將提交移回到歷史記錄中的位置。
請注意,如果您已被推送,這將導致其他人出現問題 - 在這種情況下,您可能只是提交現在的位置。
如果這只是之前的提交,您可以隨時修改它。 否則最經濟的方法就是單獨提交文件。 除非您有特殊原因不這樣做,否則這樣做是沒有害處的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.