我正在通過一個 C 專案在 Github 上使用 git。我按此順序執行了以下操作:
- 在作弄現有的和新的
.cpp和.h檔案。還添加了一個大.stl檔案。 - 將新檔案添加到 git
- 使用此更改創建提交“A”
- 試圖將提交“A”推送到 Github。它沒有讓我推送提交,因為添加了一個 121MB 的檔案,超過了 Github 的限制。
- 使用該
git reset --mixed命令,以便我可以撤消包含大檔案的提交“A”,將該檔案添加到 .gitignore,然后重新創建沒有該檔案的提交。
現在已經跟蹤的檔案中包含的更改仍然存在,我可以重新提交它們,但是提交“A”中新添加的檔案都消失了。
該git reset --mixed命令不只是撤消提交而不更改檔案嗎?
有什么方法可以恢復我剛剛添加到 git 并已被洗掉的這些檔案?
uj5u.com熱心網友回復:
顯然,隱藏在 IDE 的“重置提交”后面的操作不是git reset --mixed,它導致檔案從磁盤中洗掉。
正如評論中所說:您可以使用 reflog 查找過去的提交。
運行
git reflog以發現要提交的 shaA(121MB 檔案的錯誤提交)使用您認為合適的任何操作從該提交中取回檔案:
git reset Agit checkout A -- file1 file2git restore -s A -W -- .或者git restore -s A -W -- file1 file2- ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/405531.html
標籤:
