Как просмотреть историю получения git репо?

У нас есть "центральное" репо, которое мы используем для развертывания на нашем сервере разработки. Я знаю, что git log покажет мне фиксации и дату/время, когда они были совершены, но я хотел бы видеть, когда реплики были отправлены/получены. Любой способ сделать это?

Ответы

Ответ 1

Git s reflogs запишет ваши указанные данные (дата и новый отзыв).

Если ваш центральный репозиторий голый, то его блокировки, вероятно, не включены (они не включены по умолчанию при создании открытого хранилища). Включите их следующим образом:

git config core.logAllRefUpdates true

Вы также должны рассмотреть возможность просмотра других параметров конфигурации, связанных с reflogs (см. git -config (1) и поискать "reflog" ): gc.reflogexpire, gc.reflogexpireunreachable.

Вы также можете включить enable.denyDeletes(поскольку reflog удаляется при удалении ветки). Если вы беспокоитесь только о сохранении логов в определенных ветвях, вы можете реализовать свою собственную ветвь "запретить удаление" с помощью крючка приема или обновления (см. githooks ( 5)).

После того, как вы включили рефлоги, вы можете просмотреть их содержимое либо с помощью git reflog show branch-name или
git log -g branch-name (либо может быть объединен с другими параметрами журнала git).

Это все равно не будет содержать другую информацию, которая вам может понадобиться (например, кто нажал новый совет *), но это может помочь.
* Проблема заключается в том, что система аутентификации (SSH, SSH + gitolite, HTTP, HTTP + git-http-backend и т.д.) Обычно не передает эту информацию до уровня, который записывает новую запись reflog; Я помню, что какая-то организация (Gentoo?) Изучала что-то, что помогло бы записать эту информацию (поскольку они рассматривают возможность перехода на Git), но я не помню подробностей).