Вопрос по git-bare, git – Выполнение команд git в пустом хранилище

8

На моем сервере я размещаю несколько пустых репозиториев git, над которыми я работаю. Я хотел бы показать некоторую базовую статистику по каждому хранилищу на моем веб-сайте; сейчас просто скажем, что я хочу сделать простые вещи, такие как перечисление всех файлов в хранилище. В не-голом git-репозитории это можно сделать с помощью

git ls-files

но для голых репозиториев это (и большинство других команд git) не работает. Я уверен, что, вероятно, существует простой способ выполнения этой конкретной команды, но я, вероятно, захочу показать некоторые сложные / специфичные для проекта статистические данные для различных репозиториев, поэтому я действительно спрашиваю, существует ли способ выполнить какую-либо / все команды git в пустом хранилище без необходимости создавать временный клон или что-то подобное. Я подозреваю, что есть какой-то командный параметр, который мне нужно установить, но я пока не смог выяснить, какой именно.

почему не гитвеб? Art Shayderov
Еще одна команда, с которой я столкнулся с трудностями, была сволочь, ноthis ТАК вопрос ответил на это. Josh Buell
Я не думаю, что gitweb делает все, что я могу отследить; Я ожидаю, что в будущем мне понадобятся довольно специфические статистические данные, такие как «показывать все коммиты, которые были сделаны пользователем X, сообщение которого содержит строку Y, которая была до даты Z»; поэтому мне, вероятно, придется написать сценарии, чтобы справиться с этим самостоятельно, для чего требуются команды, которые не выполняются обычными репозиториями. Josh Buell

Ваш Ответ

1   ответ
11

Вы можете запустить это:

git ls-tree -r HEAD --name-only

Очевидно, что вы должны указать ветку или ссылку, потому что в пустом хранилище нет рабочего дерева или индекса.

Я не знаю других команд, но вы можете сделать большинство из них в пустом хранилище, но те, которые требуют рабочего дерева.

Спасибо, это работает! Josh Buell

Похожие вопросы