Tình hình là dự án web sắp tới của team mình có khá nhiều ảnh PNG nặng với cả đống file video demo. Đẩy code lên GitHub mà cứ bị báo lỗi dung lượng file vượt quá giới hạn cho phép. Ức chế thật chứ. Nghe tụi bạn mách nước dùng Git LFS nhưng mình vẫn chưa hiểu bản chất nó hoạt động thế nào. Có bác nào ở đây đã xài qua chưa? Giải ngố giúp mình với. Liệu cứ project web nào có chứa file media nặng là phải cài Git LFS ngay không, hay chỉ cần khi nào file vượt ngưỡng bao nhiêu MB mới cần dùng? Anh em kinh nghiệm chỉ giáo vài đường cơ bản với nhé.
Git lfs là gì và khi nào nên dùng cho dự án web.
Thảo luận (11 bình luận chính)
Vụ này đợt trước team mình cũng dính chấu khi đẩy đống asset thiết kế và video demo lên GitHub, bị nó chặn ngang vì vượt giới hạn 100MB mỗi file. Bản chất của Git LFS (Large File Storage) là nó thay vì nhét thẳng file nặng vào lịch sử Git thì lại tách ra lưu ở một server riêng, còn trong repo chính chỉ giữ một file pointer (con trỏ) siêu nhẹ chứa mã hash thôi. Khi nào cần dùng thì nhìn vào đống PNG nặng với video của chủ thớt là chuẩn bài rồi đấy, cứ project web nào có media nặng, file zip, database backup hoặc mô hình 3D là phang LFS ngay để repo không bị phình to và tốc độ clone/pull sau này không bị rùa bò. Chỉ lưu ý là GitHub cho free dung lượng LFS khá bèo (hình như 1GB), dùng hết là phải mua thêm dung lượng hoặc tự dựng server S3 riêng đấy nhé.
Lỗi đó là do GitHub giới hạn file đơn tối đa 100MB, gặp đống ảnh PNG với video demo nặng thì kiểu gì cũng bị chặn. Bản chất Git LFS (Large File Storage) sẽ tách mấy file nặng này ra lưu ở server riêng, còn trong repo Git chính nó chỉ giữ một con trỏ văn bản nhẹ tênh để trỏ tới file gốc thôi. Muốn xử lý ngay cho dự án thì cứ làm theo 3 bước: Cài đặt công cụ Git LFS về máy bằng lệnh `git lfs install`, chạy tiếp lệnh `git lfs track "*.png"` (và các định dạng video khác) để chỉ định các file cần quản lý, rồi cứ add, commit và push code lên như bình thường là xong. Nhớ lưu ý là tài khoản GitHub miễn phí chỉ cho 1GB dung lượng LFS thôi đấy, team dùng nhiều quá khéo phải mua thêm gói.
Cứ quất ngay **Git LFS (Git Large File Storage)** đi chủ thớt, bản chất nó là giải pháp thay thế mấy file ảnh nặng và video trong repo của ông bằng một con trỏ văn bản nhẹ tênh, còn file gốc thì đẩy lên lưu ở một server riêng biệt. Dự án web mà dính đống media nặng kiểu này thì bắt buộc phải dùng, không thì GitHub nó cứ ban cái tội vượt quá giới hạn 100MB của file đơn liền. Khi nào làm web thương mại điện tử có hàng nghìn ảnh sản phẩm, hoặc web portfolio có demo video nặng thì cứ áp dụng cách này cho nhẹ đầu, lúc `git pull` hay `push` code mới không bị ức chế.
Cái này đơn giản là do GitHub nó giới hạn file dưới 100MB, gặp đống ảnh PNG với video demo nặng thì kiểu gì cũng bị chặn thôi. Bác cài ngay Git LFS (Large File Storage) vào, nó sẽ gom mấy file nặng đó gửi lên một server riêng, còn trong Git chỉ lưu một cái file text trỏ đường dẫn nhẹ hều. Khi nào cần dùng thì team cứ kéo về bình thường, đúng là cứu cánh cho mấy quả dự án web lắm đồ họa.
Chủ thớt gặp đúng cảnh ngộ giống hệt mình hồi trước rồi, cứ đẩy file nặng lên GitHub là bị nó chặn ngang xương bực lắm. Bản chất của Git LFS (Large File Storage) là nó sẽ bóc tách mấy file ảnh PNG, video nặng đó ra khỏi lịch sử commit thông thường, thay vào đó nó chỉ lưu một file "pointer" (con trỏ) nhẹ tênh trong repo, còn file gốc thì được đẩy lên một server lưu trữ riêng. Điểm mấu chốt bạn cần nhớ trước khi bấm nút xài là phải check kỹ dung lượng miễn phí của Git LFS, vì GitHub chỉ cho free có 1GB lưu trữ và 1GB băng thông mỗi tháng thôi. Team mà táy máy đẩy lắm video demo nặng vào là tháng sau nó trừ tiền thẻ Visa lúc nào không hay đấy, khéo lại tốn oan tiền phí nâng cấp.
Chủ thớt gặp lỗi đó là do GitHub giới hạn file đơn tối đa 100MB, đẩy đống ảnh PNG nặng với video demo lên thì kiểu gì cũng tạch. Bản chất Git LFS (Large File Storage) sẽ tách mấy file nặng đó ra lưu ở server riêng, trong kho Git chính chỉ giữ một file pointer (con trỏ) nhẹ tênh vài byte thôi. Khi làm dự án web có asset nặng như case của team bạn thì bắt buộc phải dùng LFS ngay từ đầu để tránh bóp nghẹt dung lượng repo. Cách triển khai cực kỳ nhanh gọn qua 3 bước:
1. Cài đặt Git LFS trên máy (`git lfs install`).
2. Trỏ Git theo dõi các định dạng file nặng trong dự án (`git lfs track "*.png"` và `git lfs track "*.mp4"`).
3. Add, commit và push code lên GitHub như bình thường, hệ thống sẽ tự lo phần upload đống file nặng qua một đường truyền riêng.
Về vụ này thì cách tối ưu nhất là chuẩn bị kỹ từ đầu. Nếu làm online thì cứ vào thẳng cổng dịch vụ công chính thức, làm theo đúng biểu mẫu là tầm 3-5 ngày xong thôi.
Chia sẻ với chủ thớt cái sự ức chế này vì đợt trước team mình cũng bị dính chưởng y chang khi nhồi đống ảnh PNG với video demo vào repo, xong GitHub nó chặn cửa vì quá tải dung lượng. Bản chất của Git LFS (Large File Storage) là nó thay thế mấy file nặng đó bằng một file text trỏ link, còn file gốc thực tế thì được đẩy lên một server lưu trữ riêng để giữ cho repo Git luôn nhẹ tênh. Cứ bật LFS lên rồi cấu hình trỏ vào mấy định dạng như `.png`, `.mp4` là xong, nhưng nói thật là nếu dự án web của bạn có quá nhiều video thì khuyên chân thành nên quăngừ mấy cái video đó lên YouTube, Vimeo hoặc dịch vụ lưu trữ đám mây chuyên dụng rồi nhúng link vào web, vừa không lo tốn dung lượng LFS miễn phí của GitHub lại vừa load web nhanh hơn hẳn đấy.
Chia sẻ với chủ thớt vụ này vì team mình hồi trước cũng dính chưởng y hệt với đống ảnh banner với video nền nặng trịch. Bản chất Git LFS (Large File Storage) nó chỉ thay thế mấy cái file nặng bằng một con trỏ văn bản nhẹ tênh trên Git, còn file thật thì đẩy sang một server lưu trữ riêng để repo không bị phình to. Để dùng thì làm gọn trong 3 bước này là xong: cài Git LFS về máy rồi chạy lệnh `git lfs install`, tiếp theo dùng `git lfs track "*.png"` (hoặc đuôi file nặng khác) để nó tự gom hàng, cứ add, commit và push code lên GitHub như bình thường thôi. Từ lúc team mình chuyển sang cách này thì méo bao giờ thấy cái lỗi vượt dung lượng file nữa, khỏe cái đầu.
Vụ này đợt trước team mình cũng bị dính chưởng y chang khi làm cái web giới thiệu sản phẩm có nhét cả đống video demo nặng. Bản chất của Git LFS (Large File Storage) là nó thay vì đẩy thẳng file ảnh hay video nặng chát đó lên Git, thì nó chỉ đẩy một cái file text pointer (con trỏ) nhẹ hều lên kho lưu trữ, còn file gốc thực tế sẽ được cất ở một server riêng. Cứ khi nào dự án web của bạn có file dung lượng lớn như hình ảnh gốc, video, file thiết kế PSD hay file nén từ vài chục MB trở lên mà bắt buộc phải quản lý cùng code thì đích thị là lúc phải lôi Git LFS ra dùng rồi. Bạn cứ cài đặt theo hướng dẫn của GitHub, cấu hình tracking mấy cái đuôi file `.png` với `.mp4` là tha hồ đẩy code lên mà không sợ bị ăn gậy từ chối giới hạn dung lượng nữa đâu.
Bác không phải tải phần mềm ngoài lằng nhằng đâu, dính mã độc hay phần mềm cà...
Tại chủ đề: Xin kinh nghiệm cách quay màn hình máy tính win 11 thế nào.Hiện tượng sọc màn hình của chủ thớt khả năng cao là do lỏng cáp (nếu gập lên...
Tại chủ đề: Sửa màn hình laptop bị sọc bao nhiêu tiền, thay ở đâu uy tín.Lưu ý quan trọng nhất là đừng quá ám ảnh số câu đúng để quy đổi ra điểm, vì A...
Tại chủ đề: Sắp thi mà vẫn mơ hồ không biết cách tính điểm aptis ra sao.Điểm mấu chốt bạn cần nhớ là ngân hàng luôn quảng cáo lãi suất ưu đãi năm đầu...
Tại chủ đề: Hướng dẫn chi tiết cách tính lãi suất vay ngân hàng theo tháng ra sao.Vụ này đợt trước mình cũng từng trầm cảm y chang chủ thớt, web làm lồng lộn l...
Tại chủ đề: Chiến lược tối ưu SEO và cách làm tăng lượt truy cập cho website hiệu quả ra sao.