a

Câu hỏi Giới hạn kích thước tệp Github đã thay đổi ngày 18/6/13. Không thể đẩy ngay bây giờ


Làm thế nào để thay đổi này kể từ ngày 18 tháng 6 năm 2013 ảnh hưởng đến kho lưu trữ hiện tại của tôi với một tệp vượt quá giới hạn đó? Tôi cuối cùng đã đẩy 2 tháng trước bằng một tệp lớn.

Tôi có một tập tin lớn mà tôi đã loại bỏ tại địa phương nhưng tôi không thể đẩy bất cứ điều gì bây giờ. Tôi nhận được một "lỗi từ xa" ... từ xa: lỗi: File cron_log.log là 126.91 MB; điều này vượt quá giới hạn kích thước tệp của GitHub là 100 MB

Tôi đã thêm tập tin vào .gitignore sau khi push gốc ... Nhưng nó vẫn tồn tại trên remote (origin)

Loại bỏ nó tại địa phương nên loại bỏ nó tại nguồn gốc (Github) phải không? ... nhưng ... nó không cho phép tôi đẩy vì có một tập tin trên Github vượt quá giới hạn ...

https://github.com/blog/1533-new-file-size-limits

Đây là những lệnh tôi đã phát hành cộng với thông báo lỗi ..

git add.
git commit -m "xóa cron_log.log"
git push origin master

từ xa: Mã lỗi: 40bef1f6653fd2410fb2ab40242bc879
remote: warning: Lỗi GH413: Phát hiện các tệp lớn.
remote: warning: Xem http://git.io/iEPt8g để biết thêm thông tin.
remote: error: File cron_log.log là 141,41 MB; điều này vượt quá giới hạn kích thước tệp của GitHub là 100 MB
remote: error: File cron_log.log là 126.91 MB; điều này vượt quá giới hạn kích thước tệp của GitHub là 100 MB

Để https://github.com/slinds(omited_here)/linexxxx (omited_here).git
 ! [master bị từ chối] master -> master (hook nhận trước bị từ chối)
lỗi: không thể đẩy một số nội dung vào 'https://github.com/slinds(omited_here)

Sau đó tôi đã thử những thứ như

git rm cron_log.log
git rm --cached cron_log.log

Lỗi tương tự.


22
2018-06-29 16:35


gốc


Bạn có thể giải thích, với các lệnh, những gì bạn đã làm cho đến nay để loại bỏ các tập tin? - manojlds
Có, vui lòng đăng các lệnh bạn đang chạy và đầu ra của các lệnh đó. - Ivan Zuzak
Đầu ra là gì git log --oneline @{u}..HEAD và find . -iname 'cron_log.log'? - Chronial
Lỗi @Chronial: Không có cấu hình ngược dòng cho lỗi 'master' chi nhánh: Không có cấu hình ngược dòng cho lỗi 'master' chi nhánh: Không có cấu hình ngược dòng cho chi nhánh 'master' gây tử vong: đối số mơ hồ '@ {u} .. HEAD': bản sửa đổi hoặc đường dẫn không xác định không có trong cây làm việc. Sử dụng '-' để tách các đường dẫn khỏi các bản sửa đổi, như sau: 'git <command> [<revision> ...] - [<file> ...]' - slindsey3000
ok, đầu ra của git log --oneline origin/master..master và cũng là đầu ra của find . -iname 'cron_log.log'? - Chronial


Các câu trả lời:


Như rlb.usa lưu ý, Github đã thêm giới hạn kích thước tệp để ngăn bạn đẩy tệp> 100MB. Bạn đã cố gắng xóa tệp trong một cam kết mới và cố gắng đẩy tệp đó. Điều đó không thành công, bởi vì bạn không chỉ đẩy cam kết cuối cùng mà còn cả ba thứ khác nữa. Ba commit này chứa các phiên bản của cron_log có kích thước 141MB và 126MB. Chúng khiến bạn thất bại.

Để khắc phục điều đó, bạn có hai tùy chọn:

  • Chạy git rebase -i origin/master, đặt mọi cam kết chỉnh sửa và xóa tệp trong mỗi git commit --amend.
  • Sử dụng BFG Repo-Cleaner để làm sạch tất cả lịch sử của bạn.

23
2017-07-02 01:17



Sử dụng tortoiseGit ở đây. Tôi đã chọn Tải & Lấy lại thay vì Kéo và tôi nhận được danh sách các tệp xung đột. Đã xóa tệp được đề cập, đã cam kết, đã đẩy và nó đã hoạt động - m.spyratos


Xin chào, bạn có thể giải quyết dễ dàng theo cách này:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILENAME.TAR' --prune-empty --tag-name-filter cat -- --all

link: https://help.github.com/articles/remove-sensitive-data


26
2017-07-31 10:36



hãy cẩn thận sử dụng điều này nếu bạn sử dụng cocapods vì nó có thể hủy liên kết tất cả các nhóm của bạn, học được điều này một cách khó khăn. - jusynth


Theo GitHub's giới hạn kích thước tệp mới (cũng thế: làm việc với các tệp lớn), được thiết lập chỉ vài giờ trước, GitHub hiện có các chính sách mới về kho lưu trữ tệp 1GB, cảnh báo về việc đẩy tệp vượt quá 50 MB và hoàn toàn từ chối đối với các tệp tải lên 100MB.

GitHub cảnh báo bạn khi bạn đẩy tệp lớn hơn 50 MB. Chúng tôi sẽ từ chối   đẩy tệp chứa lớn hơn 100 MB. Chúng tôi làm điều này cho một vài   lý do.

Bạn có một vài tùy chọn, nhưng không nhiều:

  • Tải lên 100 MB + tệp của bạn lên một dịch vụ khác và chia sẻ với dịch vụ đó thay thế
  • Giảm kích thước của các tệp có vấn đề
  • Tìm một kho lưu trữ mới

5
2018-06-29 22:19



Tôi chỉ muốn loại bỏ các tập tin ... Tôi dường như không thể làm điều đó. - slindsey3000
@ slindsey3000 Tôi biết. Chúng tôi cũng gặp vấn đề này. Tôi nhớ đã nghe một số người thành công khi loại bỏ các tệp lớn của họ bằng cách liên hệ với bộ phận hỗ trợ GitHub - rlb.usa
bạn quên chia và kết hợp lại các tệp - Gianluca Ghettini


Giới hạn thực tế cho mỗi tệp trên GitHub là 100 MiB, không phải 100 MB.

Bản giới thiệu: https://github.com/Franck-Dernoncourt/github-max-file-size


https://help.github.com/articles/what-is-my-disk-quota/  (gương) tuyên bố sai rằng họ đặt giới hạn nghiêm ngặt các tệp vượt quá kích thước 100 MB

Sự nhầm lẫn giữa MB và MiB có thể được nhìn thấy khi đẩy: trong ví dụ dưới đây, thông báo lỗi từ máy chủ GitHub cho biết tệp là 101 MB trong khi git chỉ ra chính xác đó là 101 MiB:

~\Documents\GitHub\test123 [master ↑1 +3 ~0 -0 !]> git push
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 101.03 MiB | 896.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File S
torage - https://git-lfs.github.com.
remote: error: Trace: e9206a9cd05c4ff5de79bba9d4caf9df
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File 101MB is 101.00 MB; this exceeds GitHub's file size limit of
 100.00 MB
To https://github.com/Franck-Dernoncourt/test123.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/Franck-Dernoncourt/test12
3.git'
~\Documents\GitHub\test123 [master ↑1 +3 ~0 -0 !]>

1
2018-03-29 16:18





Sử dụng kịch bản Python này để làm sạch repo của bạn của các tập tin lớn (tôi sử dụng nó để trên repo của tôi và nó làm việc tuyệt vời) https://gist.github.com/1433794


0
2018-06-29 22:31





Tôi đã thử một vài câu trả lời ở trên mà không có may mắn. Nhưng cuối cùng tôi tìm thấy một giải pháp sử dụng Github Desktop. Nhấp vào 'Kho lưu trữ', 'Hoàn tác cam kết gần đây nhất'. Nó cho phép tôi làm điều đó hai lần, chỉ đủ để loại bỏ các cam kết vi phạm. (Tôi đã xóa các tệp lớn khỏi kho lưu trữ).


0
2018-05-31 11:39



OP đang sử dụng git từ dòng lệnh. - Ryan R. Rosario