git‐annex‐unlock − unlock files for modification

git annex unlock [path ...]

Normally, the content of annexed files is protected from
being changed.  Unlocking an annexed file allows it to be
modified. When no files are specified, all annexed files in
the current directory are unlocked.

     Unlocking a file changes how it is stored in the git
repository (from a symlink to a pointer file), so this
command will make a change that you can commit.

     The content of an unlocked file is still stored in git‐
annex, not git, and when you commit modifications to the
file, the modifications will also be stored in git‐annex,
with only the pointer file stored in git.

     If you use git add to add a file, it will be added in
unlocked form from the beginning. This allows workflows
where a file starts out unlocked, is modified as necessary,
and is locked once it reaches its final version.

     Normally, unlocking a file requires a copy to be made
of its content, so that its original content is preserved,
while the copy can be modified. To use less space,
annex.thin can be set to true; this makes a hard link to the
content be made instead of a copy. (Only when supported by
the file system.) While this can save considerable disk
space, any modification made to a file will cause the old
version of the file to be lost from the local repository.
So, enable annex.thin with care.

 # git annex unlock disk−image
 # git commit −m "unlocked to allow VM to make changes as it

      # git annex unlock photo.jpg
 # gimp photo.jpg
 # git annex lock photo.jpg
 # git commit −m "redeye removal"

file matching options

     The git‐annex−matching−options(1) can be used to
     specify files to unlock.


     Enable JSON output. This is intended to be parsed by
     programs that use git‐annex. Each line of output is a
     JSON object.

     Messages that would normally be output to standard
     error are included in the json instead.





Joey Hess <>