forma de verificar que el repository de git no haya sido networkingiseñado?

Quiero usar git como un cuaderno de laboratorio electrónico (ver https://github.com/cboettig/labnotebook para ver un ejemplo). Sin embargo, me preocupa que, dado que es posible rebase, la integridad de mis datos de investigación podría ser cuestionada. ¿Hay alguna manera de verificar que un repository de git no se haya actualizado? Sé que las rebases se almacenan en el reflog, pero se eliminan después de 30 días.

Alternativamente, sé que podría usar mercurial y esto no sería un problema.

La forma de garantizar la integridad de la historia es almacenar en otro lugar el SHA1 del HEAD actual cuando está enviando nuevos commits a su repository.

Si ese SHA1 ya no forma parte de la historia más tarde, eso significa que se ha producido algún tipo de "reescritura de historial" (rebase, push --force , …).

Pero el repository en sí mismo, aparte del reflog, no mantiene un logging de auditoría de las operaciones que se llevan a cabo en él. Para eso, tendría que agregar una capa de autorización como gitolite , que viene con dicha pista de auditoría.