Как получить хеш файла из remote репозитория не клонируя репозиторий?

Есть две прекрасные команды:

Первая получает хеш удаленного репозитория

git ls-remote https://{URL} refs/heads/master

Вторая хеш локального файла

git ls-files -s {FILE}

Хочется что-то похожее только для удаленного файла. Без надобности скачивать файл, и тем более клонировать весь репозиторий. Вся же нужная мне информация есть в git, просто нужно как-то ее оттуда достать


Ответы (2 шт):

Автор решения: Lazy Badger

Никак (вечно вы, гит-бои, хотите странного, и даже не можете рассказать "зачем"): чтобы получить хэш файла, надо иметь возможность выполнить на репе git rev-parse, а это уже более чем локальный доступ

→ Ссылка
Автор решения: Alexey Ten

Вот прямо совсем так как вы хотите я не знаю как сделать. Но можно минимизировать количество скачиваемых данных.

Примерно так:

/tmp $ git clone --depth=1 --filter=blob:none --branch main --bare https://github.com/vitest-dev/vitest.git
Cloning into bare repository 'vitest.git'...
remote: Enumerating objects: 197, done.
remote: Counting objects: 100% (197/197), done.
remote: Compressing objects: 100% (144/144), done.
remote: Total 197 (delta 0), reused 129 (delta 0), pack-reused 0
Receiving objects: 100% (197/197), 31.02 KiB | 622.00 KiB/s, done.
/tmp $ cd vitest.git/
/tmp/vitest.git $ git rev-parse HEAD:package.json
7572fc9c0e70e7cc3b2e7e75a8094463a237504d
/tmp/vitest.git $ du -sh .
168K    .

З.Ы. Согласен с предыдущим отвечающим — вы хотите странного.

→ Ссылка