Provided by: git-annex_10.20230626-1_amd64 bug

NAME

       git-annex-unlock - unlock files for modification

SYNOPSIS

       git annex unlock [path ...]

DESCRIPTION

       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 to the annex, 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.

EXAMPLES

        # 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 add photo.jpg
        # git annex lock photo.jpg
        # git commit -m "redeye removal"

OPTIONS

       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.

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

       Also the git-annex-common-options(1) can be used.

SEE ALSO

       git-annex(1)

       git-annex-edit(1)

       git-annex-add(1)

       git-annex-lock(1)

AUTHOR

       Joey Hess <id@joeyh.name>

                                                                              git-annex-unlock(1)