A new version of Git LFS, the open source Git extension for versioning large files, is now available. Git LFS v2.6.0 comes with a more robust authentication mechanism, new options to git lfs checkout, a handful of bug fixes, new platforms, and more.

Download Git LFS v2.6.0

Authentication improvements

Git LFS can make two types of HTTP(s) requests: API requests (which allow the client to retrieve any metadata it might need), and storage requests (which allow the client to upload or download data to external storage).

Previously, Git LFS would determine how it should authenticate LFS API requests, then use the same method to authenticate transfer requests. However, API requests and transfer requests generally go to different places and aren’t guaranteed to require the same authentication method.

Git LFS now treats those requests as requiring different authentication and will determine the correct mode for each.

New git lfs checkout options

Git is designed to handle merge conflicts as best it can without the need for human intervention, but often it’s built-in merge facilities do not resolve conflicts correctly for large files. When that’s the case, it can be useful to compare the contents of both sides of the conflict by hand.

git lfs checkout now provides convenient options for doing just that: you can ask it to resolve “our” side of a merge, “their” side, or the merge base. Here’s an example:

$ git lfs checkout --ours --to=conflict.psd.ours -- conflict.psd 
$ git lfs checkout --theirs --to=conflict.psd.theirs -- conflict.psd 
$ git lfs checkout --base --to=conflict.psd.base -- conflict.psd 
$ ls -la
-rw-r--r--@  1 user  group   16789 Oct 22 18:59 conflict.psd.base
-rw-r--r--@  1 user  group   19810 Oct 22 18:59 conflict.psd.ours
-rw-r--r--@  1 user  group   18303 Oct 22 18:59 conflict.psd.theirs

From here, you can open each side of the conflict and resolve the differences however you see fit.

And all of the rest

You’ll see a handful of other new features and bug fixes in v2.6.0 like new release targets including arm64, enhanced support for more configuration options from Git, and more.

For instructions on configuring Git LFS, read the documentation.