Мне было интересно, есть ли хорошее решение "git export", которое создает копию дерева без каталога репозитория .git
. Есть как минимум три метода, о которых я знаю:
git clone
с последующим удалением каталога репозитория .git
.
git checkout-index
ссылается на эту функцию, но начинается с «Просто прочитайте нужное дерево в индекс ...», что я не совсем уверен, как это сделать.
git-export
- это сторонний скрипт, который, по сути, git clone
отправляет во временное местоположение, за которым следует rsync --exclude='.git'
в конечный пункт назначения.
Ни одно из этих решений не кажется мне удовлетворительным. Наиболее близким к svn export
может быть вариант 1, потому что оба требуют, чтобы целевой каталог был пустым в первую очередь. Но вариант 2 кажется еще лучше, если предположить, что я могу понять, что значит читать дерево в индексе.