ก่อนอื่น มาทำความรู้จักกับ Git LFS หรือ (Git Large File Storage) กันก่อนดีกว่า ว่าคืออะไร ทำงานยังไงและควรใช้เมื่อไหร่ดี
มาเริ่มไปพร้อมกันนะครับ Git LFS ก็คือตัวช่วยสำหรับ นักพัฒนาทุกคนและทุกกลุ่ม ซึ่งจะช่วยให้เราจัดการ size repository เพื่อไม่ให้มีขนาดใหญ่เกินความจำเป็น โดยเราสามารถระบุได้ว่าต้องการ file ไหน หรือ type file แบบไหนที่ต้องการจะเก็บลงใน git storage โดย Git LFS เป็นส่วนเสริมของ Git หลัก
มาดูในส่วนของ Settings กันเลยครับ
1.Install homebrew
โดยคำสั่งที่ใช้จะอยู่ในหน้าเวป https://brew.sh มีตัวอย่างการใช้งานคำสั่งตามภาพด้านล่าง
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Copy ไปวางที่ terminal เพื่อใช้งานได้เลยครับ
หลังจาก Install เสร็จเรียบร้อย ก็ run คำสั่ง
run brew install git-lfs
ก่อนที่จะไปข้อที่ 2 ครับ
2. Install/Update Git LFS
Update your git config to finish installation:
# Update global git config
$ git lfs install
# Update system git config
$ git lfs install --system
3. Initailize file .gitattributes
3.1. Auto Generate
จากตัวอย่างด้านล่าง เรามาดูกันที่ sourcetree กันครับ เลือกที่ menu repository -> Git LFS -> Initailize ดังภาพด้านล่าง
หลังจากที่ Initialize กันไปเสร็จแล้ว จะมีหน้าต่างขึ้นเพื่อให้เรากำหนดว่าต้องการ type file แบบไหนในการ upload storage ดังภาพด้านล่าง
3.2. Manual Generate
หากเพื่อนๆคนไหนที่ถนัด command line ก็สามารถสร้าง git lfs ได้เหมือนกันครับ โดยใช้คำสั่ง create file ผ่าน terminal ได้เลย
$ touch .gitattributes
เมื่อ create file เสร็จสิ้นแล้ว มาดูกันครับว่า file .gitattributes นั้นถูกสร้างขึ้นไว้หรือยัง
$ ls -a
terminal เราจะทำการ print log ออกมา ดังภาพด้านล่าง
4. Add track file
4.1 เราสามารถ add track all file ได้โดยระบุ type file ผ่านทาง terminal ได้ดังนี้ครับ
$ git lfs track "*.psd"
4.2 หลังจากที่เราทำการ track type file ได้แล้ว เรายังระบุได้อีกด้วยว่าเราต้องการ track เฉพาะ file นั้นๆ ได้โดยคำสั่ง
$ git add path/to/file.psd
นอกจาก command เรายังสามารถแก้ไขเองได้ด้วย ดังภาพด้านล่าง เราใช้คำสั่งใน terminal
$ open .gitattributes
ไฟล์ที่เราได้ใช้คำสั่ง open ก็จะเปิดขึ้นมาให้และเราสามารถแก้ในนี้ได้ทันทีเลยครับ หลังจากนั้นก็ save file ตามปกติ
5. Git Commit/Push
หลังจากที่เราทำการ track ไฟล์เป็นที่เรียบร้อยแล้วเราก็สามารถกลับมา Commit file โดยจะทำงานผ่าน sourcetree หรือ command ปกติ ได้เลยครับ
5.1 Command line
$ git commit -m "add file.psd"
$ git push origin master
5.2 Source tree
เพียงเท่านี้ file งานของเราที่ทำการ track ก็จะถูกแยกไปเก็บที่ Git Storage เป็นที่เรียบร้อยครับบบ
6. Check Git LSF Version
เราสามารถเช็คได้จากคำสั่งด้านล่างนี้ครับ
$ git lfs env
แล้วจะแสดง version ออกมาให้เรา
ตบท้ายด้วย Video GIT LFS
references: https://git-lfs.github.com/, https://github.com/blog/2069-git-large-file-storage-v1-0