簡體   English   中英

Git 添加不起作用,推送已刪除的文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM