Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

Github提交大型檔案時卡住很久的問題

內容目錄

Github提交大型檔案時卡住很久的問題

當有大型檔案要丟到Github的repo時,其實有檔案大小限制。從瀏覽器端上傳的話是25MB,如果用desktop或CMD則可以到100MB,也就是單一檔案最大可以到100MB。
但上傳大一點的檔案時,像我大概約20~30MB,就遇到了提交卡住的狀況。
狀況類似如此:

Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 17.47 MiB | 2.83 MiB/s, done.
Total 4 (delta 1), reused 0 (delta 0), pack-reused 0

其實都是正常資訊,但跑到最後卡住了XD會一直等非常久都不會好,或是提交的東西有問題。
如果使用git push --verbose --progress 來進行提交,可以確認有無以下訊息:

POST git-receive-pack (chunked)

如果有的話,主要原因是在透過https 提交,git有個預設的上傳緩衝限制(預設為1MB:1000000 ),如果檔案大小超過這個緩衝上限值時,git 會使用分塊編碼的方式將進行上傳。但這件事可能會出現bug,而導致上述卡住的狀況。我找到的解決辦法是設定一個超大上限值,盡量不讓提交時進行分塊編碼。
(改為1048MB:1048576000)

git config http.postBuffer 1048576000

這樣應該就可以順利上傳囉!

參考資料