680 字
3 分鐘
瀏覽次數
GitHub 不接受 100MB 以上檔案?使用 Git LFS 解決大檔案 Commit 問題
2025-07-25
2026-06-01

結論#

當 GitHub 因檔案超過 100MB 而拒絕 Push 時,可透過 Git LFS(Large File Storage)管理大型檔案,即使使用 TortoiseGit 也能正常 Commit 與 Push。

適合用在哪裡#

  • 使用 GitHub 管理大型檔案
  • 專案包含壓縮檔、安裝包、模型檔案等大容量檔案
  • 使用 TortoiseGit 進行版本控制
  • 遇到 GitHub 100MB 檔案限制
  • 需要將既有大型檔案轉換為 Git LFS 管理

流程步驟#

1. 安裝 Git LFS#

  • 從 Git LFS 官網下載並安裝
  • 安裝完成後只需初始化一次
Terminal window
# 初始化 Git LFS
git lfs install

GitHub 雖然支援 Git LFS,但本機必須先安裝並啟用,否則無法正常追蹤大型檔案。

2. 將既有大檔案轉換為 Git LFS#

如果專案中已經存在超過 100MB 的檔案,建議直接使用 Git LFS Migration 功能。

Terminal window
# 將所有超過 100MB 的檔案轉換為 LFS
git lfs migrate import--everything--above=100MB

此指令會掃描整個 Repository 歷史紀錄,並將符合條件的大檔案改為 Git LFS 管理,不需指定副檔名。

適合:

  • 舊專案
  • 已經 Commit 過大型檔案
  • 不確定有哪些檔案超過限制

3. 指定特定副檔名使用 Git LFS#

若專案固定會放入特定格式的大檔案,也可以直接設定追蹤規則。

Terminal window
# 追蹤 7z 檔案
git lfs track"*.7z"
# 追蹤 tar.gz 檔案
git lfs track"*.tar.gz"

執行後會自動更新 .gitattributes,後續新增的檔案都會自動使用 Git LFS 儲存。

4. 使用 TortoiseGit Commit 與 Push#

完成 Git LFS 設定後,即可回到 TortoiseGit 操作。

  • 右鍵 → TortoiseGit → Commit
  • 確認 .gitattributes 已加入版本控制
  • Commit
  • Push 到 GitHub 此時大型檔案實際上會存放於 Git LFS Storage,而 Git Repository 僅保留指標檔,因此不會再遇到 GitHub 的 100MB 限制。

補充#

常見錯誤#

錯誤訊息原因
File exceeds GitHub’s file size limit of 100 MB檔案未使用 Git LFS 管理
Git LFS not installed本機尚未安裝 Git LFS
Push 被拒絕Repository 歷史紀錄中仍存在超大檔案

實務建議#

  • 新專案可直接設定常用副檔名追蹤規則
  • 舊專案建議使用 git lfs migrate import
  • 若已 Push 過超大檔案,需重新改寫歷史紀錄後再 Push

指令 / 範例整理#

Click to expand
# 安裝後初始化
git lfs install
# 將所有超過 100MB 檔案轉換為 LFS
git lfs migrate import--everything--above=100MB
# 追蹤指定副檔名
git lfs track"*.7z"
git lfs track"*.tar.gz"
# 查看目前追蹤規則
git lfs track
# 查看 LFS 管理檔案
git lfs ls-files

收尾#

GitHub 的 100MB 限制並不代表大型檔案無法納入版本控制,透過 Git LFS 搭配 TortoiseGit,即可用原本的操作流程管理大型檔案。

GitHub 不接受 100MB 以上檔案?使用 Git LFS 解決大檔案 Commit 問題
https://joyceowo.github.io/posts/23ba78ea09fa81a49dead618ac617265/
作者
JoyceOwO
發佈於
2025-07-25
許可協議
CC BY-NC-SA 4.0