2014-09-03 3 views
3

Я хочу видеть, как много изменилось репо в прошлом месяце на сторонемерзавца дифф на голый репо

cd /path/to/my/bare/repo.git/ 
git --git-dir . diff --shortstat "@{1 month ago}" 
fatal: Unable to read log 'logs/refs/heads/master': No such file or directory 

gitlab сервер Однако это прекрасно работает в рабочей ветви местной Checkout-й изд.

Есть ли способ сделать это без лишних хлопот?

Чтобы избежать проблем XY: Я хочу запустить статистику через сотню сделок РЕПО на сервере Gitlab

+0

Вы пытались найти каталог репо без '--git-dir'? – NoDataFound

+0

'cd /path/to/bare/repo.git; git diff --shortstat '@ {1 месяц назад}' 'должен работать. – knittl

+0

Что означает 'git --git-dir /path/to/my/bare/repo.git/ branch -a'? – marbu

ответ

3

Try и убедитесь, когда diff'ing в голом репо, чтобы указать два коммита (или дифф будет по умолчанию в рабочее дерево, которое не существует в bare repo).

Вам не нужно --git-dir .

Однако, используя дату когда specifying a revision не будет работать, так как он основан на logs/refs, который не существует в голом репо

<refname>@{<date>}, e.g. [email protected]{yesterday}, [email protected]{5 minutes ago} 

Реф, за которым следует суффикс @ с указанием даты, заключенным в пару фигурных скобок (например, {yesterday}, {1 month 2 weeks 3 days 1 hour 1 second ago} или {1979-02-26 18:30:00}), указывает значение ref при предыдущей строке т во времени.
Этот суффикс может использоваться только сразу после имени ссылки, а ref должен иметь существующий журнал ($GIT_DIR/logs/<ref>).

+0

спасибо, любое решение для захвата статистики? До сих пор я старался перечислить количество коммитов с использованием 'git log', но это не так хорошо, как' git diff --shortstat' –

Смежные вопросы