Opublikowałem kiedyś kilka słów o modyfikowaniu historii w Gicie. Bardzo przydatna możliwość, gdy chcemy robić to lokalnie, przed pchnięciem zmian do zdalnego repozytorium. Albo gdy w pełni kontrolujemy wszystkie zmiany lądujące w centralnej lokalizacji i świadomie wykonujemy push z opcją –force w celu nadpisania już wysłanych commitów. Prawdopodobnie zdarzy się jednak, że będziemy musieli dać dostęp “write” do repozytorium osobom, które z różnych względów nie powinny mieć takiej możliwości. Łatwo wtedy o zamieszanie, niekoniecznie z udziałem czyjejkolwiek złej woli.
I, hmm… nic trudnego, wystarczy do pliku konfiguracyjnego gita wpisać:
1: [receive] 2: denyNonFastforwards = true
Sam to stosuję, zmieniając na hostingu wartość na false na chwilę gdy osobiście zrobię jakąś głupotę i chwilę po push zdam sobie z tego sprawę.