NAME
git-annex uninit - de-initialize git-annex and clean out repository
SYNOPSIS
git annex uninit
DESCRIPTION
Use this to stop using git annex. It will unannex every file in the repository, and remove all of git-annex's other data, leaving you with a git repository plus the previously annexed files.
OPTIONS
- The git-annex-common-options(1) can be used.
SEE ALSO
git-annex(1)
AUTHOR
Joey Hess id@joeyh.name
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
A faster way of doing uninit is the following:
cp --no-clobber --dereference --recursive --preserve=all --reflink=auto --verbose ./git_annex_repo/your_symlinks/ ./target_dir/
This will simply copy (thin COW copy) symlinks (dereferenced) as normal files preserving the mtime, etc. the resulting ./target_dir/ will have your files if they existed in this annex or broken symlinks if the files were not here.
Obvious reason is that it's not something often used or that has had much demand for being sped up. And in particular it's written as a call to unannex each annexed file, and that runs
git rm --cached
once per file, which can be slow.But there are also non-obvious things that it may need to do that can be slow. For example, if two files in the git repo point to the same git-annex object, it has to make a copy of the object to one of the worktree files.