"R. Tyler Ballance" <tyler@xxxxxxxxx> writes: > One of our developers "discovered" the --force option on `git push` and > used it without taking the appropriate care and hosed one of the project > branches we have running around in our central repository. > > Besides a vigorous flogging, we're looking at other ways to prevent this > sort of thing from happening again; the option we've settled on is to > remove the "--force" flag from our internal build of v1.6.1 > > I'm wondering if somebody could point me in the right direction to > remove "--force" (safely) from the builtin-push.c and removing the > "rebase" command (we've got no use for it, and would prefer it gone). First, the title (subject) of this email is misleading: it is about your solution, and not about the problem you have (protecting against "git push --force"). Second, there are two possible solutions: use receive.denyNonFastForwards and perhaps also receive.denyDeletes (see git-config(1)) to forbid forced pushes on server (target of push); removing '--force' is a client solution. Or, better, use update or post-receive hook on server, forbidding non-fastforward updates to selected set of 'stable' branches; you can use contrib/hooks/update-paranoid for that. -- Jakub Narebski Poland ShadeHawk on #git -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html