Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在解決問題之道上不斷前行
當有大型檔案要丟到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
這樣應該就可以順利上傳囉!