我創建了一個新的遠程存盤庫,并且正在嘗試向其中添加一些初始檔案。這包括 2 個 python 腳本和 3 個包含資料的檔案夾。
使用git add <filename>不擺布我的檔案,根據git status。我在我啟動的本地 repo 的根目錄中。
結果,由于我最初不知道檔案沒有被暫存(但假設是這樣并去了commit -> push),Git 推送了整個本地存盤庫。這包括資料檔案夾內的資料檔案。
其中一些太大(> 50mb),所以我從檔案夾中洗掉了它們。從這里開始,我可以重試本地存盤庫的完整提交/推送,但 Git 仍在以某種方式跟蹤這些已洗掉的檔案。
如果我洗掉它們,為什么這些仍然存在于提交中?
我在使用 Ubuntu WSL 的 Windows 10 上。我已經嘗試過命令提示符、Ubuntu 終端和這些在 VSCode 上可用的終端。
同時,我嘗試添加一個.gitignore與行的檔案__pycache__/,并*.pyc因為,在某些時候,嘗試添加一個名為ld_funcs.py只上演new file: __pycache__/ld_funcs.cpython-38.pyc
uj5u.com熱心網友回復:
git add <filename>根據git status. using不會暫存我的檔案。
然后檢查這些檔案當前是否被忽略:
git check-ignore -v -- a/file
替換a/file為未暫存的檔案之一。
如果為空,請確保首先修改這些檔案:Git 不會在沒有任何本地修改的情況下暫存跟蹤檔案。
從檔案夾中洗掉它們。從這里開始,我可以重試本地存盤庫的完整提交/推送,但 git 仍在以某種方式跟蹤這些已洗掉的檔案
首先,洗掉加推送并不意味著你的遠程倉庫大小會減少,因為過去的提交仍然會記錄那些大檔案。在你的大檔案真正消失之前,你
需要一個git filter-repo --strip-blobs-bigger-than 10M跟一個git push --force(假設這個新存盤庫沒有被其他人積極使用)。
并且您還需要在本地將這些檔案(或所有檔案夾)添加到.gitignore檔案中,以確保不再跟蹤它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/354941.html
標籤:混帐
