我不小心在我的 git commit 中添加了一些大檔案。在此之后,我洗掉了大檔案,現在我想提交剩余的更改(不包括大檔案),但不知何故,大檔案的洗掉仍在我的 git 歷史記錄中,因此我無法進行任何進一步的提交。我不想 git reset HARD 或其他東西而丟失很多本地更改。我該如何解決?
我的步驟:
git add -A
git commit -m "Commiting with Large Files"
git push origin main
-- Failed to push due to Large files
現在我從本地機器中洗掉這些大檔案并嘗試再次推送
git add -A
git commit -m "Commiting with deleted large files"
git push origin main
-- Failed to push
我試過
git reset --soft HEAD~1
git reset
但我仍然將洗掉的檔案作為未暫存的更改,這阻止了新的 git add -A 和 push。
Unstaged changes after reset:
D largefile/b_qty.tar.gz
D largefile/b_qty.txt
D largefile/s_qty.tar.gz
D largefile/s_qty.txt
對于如何解決這個問題,有任何的建議嗎?我真的不能丟失任何本地更改。
uj5u.com熱心網友回復:
嘗試使用
git restore --staged .
取消暫存檔案或取消暫存特定檔案使用
git restore --staged <individual_file>
uj5u.com熱心網友回復:
如果我理解得很好,你有以下提交:
def - Commiting with deleted large files
abc - Commiting with Large Files
因此,當您撤消 commit 時def,git 仍然將這些檔案視為已洗掉是正常的:您仍然abc在添加這些檔案的地方進行了提交。
如果你想更好地查看提交圖,請嘗試:
git log --all --graph --oneline --decorate
這將幫助您診斷。可能你應該重寫你的兩個提交,所以
git reset HEAD~2
可能會成功,但同樣:分析您的 git 圖以查看您需要做什么,哪些承諾重置,...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/355194.html
上一篇:如何以角度設定模型值
下一篇:GitLabee身份驗證失敗
