Git's reflogs запишет указанные вами данные (дату и новую подсказку коммита).
Если ваш центральный репозиторий пуст, то, возможно, его повторные журналы не включены (они не включены по умолчанию при создании пустого репозитория). Включите их так:
git config core.logAllRefUpdates true
Вам также следует рассмотреть возможность просмотра других параметров конфигурации, связанных с reflogs (см. git-config (1) и поиск «reflog»): gc.reflogexpire , gc.reflogexpireunreachable .
Вы также можете включить receive.denyDeletes (поскольку reflog удаляется, когда удаляется его ветвь). Если вас интересует только сохранение повторных журналов в определенных ветвях, то вы можете реализовать собственную предварительную ветку «запретить удаление» с помощью ловушки получения или обновления (см. githooks (5) ).
После того, как вы включили флажки, вы можете просмотреть их с помощью
git reflog show branch-name
или
git log -g branch-name
(может сочетаться с другими опциями git log ).
Это все равно не будет включать другую информацию, которая может вам понадобиться (например, кто давил новый совет *), но это может помочь.
*
Проблема в том, что система аутентификации (SSH, SSH + gitolite, HTTP, HTTP + git-http-backend
и т. Д.) Обычно не передает эту информацию до уровня, на котором записывается новая запись reflog; Я вспоминаю, что какая-то организация (Gentoo?) Изучала что-то, что могло бы помочь записать эту информацию (так как они / рассматривали возможность перехода на Git), но я не помню подробности).