Provided by: git-annex_8.20210223-2ubuntu2_amd64 bug


       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 runs"

        # 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.

       --json 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







       Joey Hess <>