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.
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.
git lfs checkoutoptions
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.
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.