[英]Git add not working, pushing deleted files
我創建了一個新的遠程存儲庫,並且正在嘗試向其中添加一些初始文件。 這包括 2 個 python 腳本和 3 個包含數據的文件夾。
根據git status
,使用git add <filename>
不會git status
我的文件。 我在我啟動的本地 repo 的根目錄中。
結果,由於我最初不知道文件沒有被暫存(但假設是這樣並commit -> push
),Git 推送了整個本地存儲庫。 這包括數據文件夾內的數據文件。
其中一些太大(> 50mb),所以我從文件夾中刪除了它們。 從這里開始,我可以重試本地存儲庫的完整提交/推送,但 Git 仍在以某種方式跟蹤這些已刪除的文件。
如果我刪除它們,為什么這些仍然存在於提交中?
我在使用 Ubuntu WSL 的 Windows 10 上。 我已經嘗試過命令提示符、Ubuntu 終端和這些在 VSCode 上可用的終端。
同樣,我嘗試添加一個帶有__pycache__/
和*.pyc
行的.gitignore
文件,因為在某些時候,嘗試添加一個名為ld_funcs.py
的文件僅暫存new file: __pycache__/ld_funcs.cpython-38.pyc
根據
git status
,使用git add <filename>
不會git status
我的文件。
然后檢查這些文件當前是否被忽略:
git check-ignore -v -- a/file
將a/file
替換a/file
未暫存的文件之一。
如果為空,請確保首先修改這些文件:Git 不會在沒有任何本地修改的情況下暫存跟蹤文件。
從文件夾中刪除它們。 從這里開始,我可以重試本地存儲庫的完整提交/推送,但 git 仍在以某種方式跟蹤這些已刪除的文件
首先,刪除加推送並不意味着你的遠程倉庫大小會減少,因為過去的提交仍然會記錄那些大文件。
在你的大文件真正消失之前,你需要一個git filter-repo --strip-blobs-bigger-than 10M
然后是一個git push --force
(假設這個新存儲庫沒有被其他人積極使用)。
並且您還需要在本地將這些文件(或所有文件夾)添加到.gitignore
文件中,以確保不再跟蹤它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.