git архив с определенного хэша с удаленного

Я пытаюсь получить один каталог из одного удаленного хранилища, но я хочу получить этот файл только из определенного хэша. Если я использую git-архив с HEAD, все в порядке, но когда я пытаюсь с определенным хэшем:

архив git -v - формат tar --remote=ssh://....myrepo.git agithash afile > output.tgz

Но я получаю

fatal: sent error to the client: git upload-archive: archiver died with error
remote: fatal: no such ref: 9a9c309
remote: git upload-archive: archiver died with error

Итак, я прочитал, что я мог бы использовать другой архив загрузки, как это:

архив git -v - формат tar --remote=ssh:.....myrepo.git --exec="/usr/local/bin/git upload-archive" ахаш afile> output.tgz

Это тоже не сработало. Я предполагаю, потому что BitBucket не поддерживает его в соответствии с https://confluence.atlassian.com/bitbucketserverkb/git-upload-archive-archiver-died-with-error-779171761.html

Поэтому мне интересно: есть ли еще один простой способ сделать это?

1 ответ

Если на этот коммит ссылается ветвь, вы можете сделать мелкий клон прямо в правильном коммите:

git clone <url> --depth=1 --branch <branch_name> -- <folder_name>

А потом сделай архив.

Но вы не можете напрямую получить или клонировать конкретный коммит по соображениям безопасности.

Другие вопросы по тегам