Tuesday, 6 October 2015

The end of the big files nightmare in Github

One of the nightmares of Github was always the Big Files.  The previous limit in 100MB made difficult to test applications with real examples demanding a lot of work to create "dummy" test files. Today the official announcement of GitHub:

Git LFS is an open source Git extension that we released in April for integrating large binary files into your Git workflow. Distributed version control systems like Git have enabled new and powerful workflows, but they haven’t always been practical for versioning large files.
Git LFS solves this problem by replacing large files with text pointers inside Git, while storing the file contents on a remote server like GitHub.com. 
New git lfs fetch and git lfs pull commands that download objects much faster than the standard Git smudge filter
Options for customizing what files are automatically downloaded on checkout
Selectively ignore a directory of large files that you don’t need for daily work
Download recent files from other branches
Improvements to git lfs push that filter the number of commits to scan for eligible LFS objects to upload. This greatly reduces the time to push new feature branches
A Windows installer and Linux packages for more convenient installation
An experimental extension system for teams that want to customize how objects are stored on the server
Git LFS is now available to all users on GitHub.com, just install the client to get started.
I just added my first big file with this steps:

1 - Download the git plugin from here https://git-lfs.github.com/ or using Homebrew
   brew install git-lfs

2- Select the file types you'd like Git LFS to manage (or directly edit your .gitattributes). You can configure additional file extensions at anytime.

git lfs track "*.psd"
3 -There is no step three. Just commit and push to GitHub as you normally would.

git add file.psd
git commit -m "Add design file"
git push origin master
 
Done !!!!