GitHub 對檔案大小有限制,超過 100 MB 的檔案無法直接推送到倉庫中。
解決思路:
- 使用 Git Large File Storage (Git LFS) 來管理大檔案
- 不上傳對應的大檔案
使用Git LFS:
1. 安裝 Git LFS
首先,你需要安裝 Git LFS。可以按照以下步驟操作:
Windows:
下載並安裝 Git LFS。
安裝完成後,在終端中執行以下命令來初始化 Git LFS:
git lfs install
2. 跟蹤大檔案
接下來,告訴 Git LFS 跟蹤 .pth 檔案型別:
git lfs track "*.pth"
這會建立一個 .gitattributes 檔案來標記需要使用 Git LFS 儲存的檔案型別。
3. 新增和提交檔案
將 .gitattributes 檔案新增到 Git 並提交:
git add .gitattributes
git add xxx/xxx.pth
git commit -m "Track .pth files with Git LFS"
4. 推送到遠端倉庫
最後,再次推送程式碼到 GitHub:
git push -u origin main
透過這些步驟,你的 .pth 檔案將被 Git LFS 管理,並且可以成功推送到 GitHub 倉庫。如果你之前嘗試上傳的檔案已經被推送過一次,且由於檔案過大被拒絕,可以執行以下命令清理歷史記錄:
git lfs push --all origin main
這樣就能夠確保大檔案透過 Git LFS 正常上傳到 GitHub。
不上傳對應的大檔案:
1. 從 Git 歷史中移除大檔案
你可以使用 git rm 命令從當前版本和歷史記錄中刪除該檔案:
git rm --cached AlexNet/best_model.pth
這將從 Git 索引中移除該檔案,但保留檔案在本地磁碟上的副本。
2. 提交更改
然後,你需要提交該更改:
git commit -m "Remove best_model.pth from Git"
3. 推送更改
現在,你可以推送這些更改到 GitHub:
git push origin main
4. 忽略該檔案
為了防止將來再次不小心將該檔案推送到 GitHub,你可以將該檔案新增到 .gitignore 中。這樣,Git 就會忽略這個檔案。開啟或建立 .gitignore 檔案,並新增以下內容:
AlexNet/best_model.pth
然後提交 .gitignore 檔案:
git add .gitignore
git commit -m "Add best_model.pth to .gitignore"
git push origin main
這樣,你就成功地從 GitHub 移除了這個大檔案,並且以後也不會再推送它了