I’ve been wondering whether there is a good “git export” solution that creates a copy of a tree without the .git
repository directory. There are at least three methods I know of:
-
git clone
followed by removing the.git
repository directory. -
git checkout-index
alludes to this functionality but starts with “Just read the desired tree into the index…” which I’m not entirely sure how to do. -
git-export
is a third-party script that essentially does agit clone
into a temporary location followed byrsync --exclude=".git"
into the final destination.
None of these solutions really strike me as being satisfactory. The closest one to svn export
might be option 1, because both require the target directory to be empty first. But option 2 seems even better, assuming I can figure out what it means to read a tree into the index.