Kiedy jesteś trochę nowy w Git (i ogólnie DVCS) i zaczynasz badać zmiany przepisujące historię, jesteś bezpieczny, jeśli repozytorium jest tylko lokalne, ale możesz napotkać problemy, jeśli pracujesz z pilotami i próbujesz popchnij takie zmiany.
Oczekiwaną funkcją jest możliwość włączenia „trybu bezpiecznego”, który zasadniczo powstrzyma mnie od robienia tego, czego nie powinienem robić… A co mam przez to na myśli? Mam na myśli zmiany przepisujące historię dla rzeczy, które już zostały przekazane do źródła. Nie potrafię tego precyzyjnie zdefiniować, ale obejmuje to takie przypadki, jak:
commit --amend
kiedy HEAD został już wypchniętyrebase
oddziału nielokalnegoreset
odepchniętej gałęzi
Są to przykłady sytuacji, które prawdopodobnie spowodują kolejny push
błąd (ponieważ nie będzie to szybkie przewijanie do przodu, IIRC). Zrobiłem to przez przypadek i musiałem odtworzyć gałąź na pilocie. I nadal miałem szczęście zrobić to wystarczająco szybko, aby nikt nie wyciągnął historii, którą przepisałem.
Uważam, że można zidentyfikować tego rodzaju zmiany i, na żądanie, uniemożliwić użytkownikowi ich wprowadzenie. Czy jest na to jakaś opcja?
Jeśli nie, czy uważasz, że warto spróbować go stworzyć? Czy próbowałbyś precyzyjnie zdefiniować, jak rozpoznać taką „niebezpieczną zmianę”?
--force
.