Uau, você vai reescrever todo o binário!?!? Que tal você substituir / usr / bin / git por um script e fazer com que o script negue as confirmações com base na hora do servidor.
Existe uma maneira de desativar git commit
quando o horário do servidor chegar às 11h e reativar quando chegar às 14h?
Ou desative o git push para todos, exceto um número selecionado de usuários
Para a parte git push
"gancho pré-recebimento" no repositório remoto.
O "não confirmar" não é possível de maneira segura, então, qualquer que seja a sua escolha, o usuário 'pode' ignorá-lo!
a) o "gancho pré-commit" no git.
b) alias git
no seu .profile e coloque um wrapper entre o que imprime um "não" ou ignora git
com os argumentos originais.
-
Ou você está procurando por repositórios remotos com permissões & co? Confira gitolite
Eu não testei isso, mas o que acontece se você remover a permissão de gravação das pastas de repositório do git para os usuários e grupos que efetivamente fazem a alteração? Eu acho que o git irá reclamar de alguma forma e dizer ao usuário que ele não pode executar o comando com sucesso, mas puxar e checar ainda deve ser possível.
O usuário correto, claro, depende da maneira como o repositório é acessado. No caso de push over http, este pode ser o usuário e grupo do servidor que é, e. g., chamado www-data no meu Debian com o Apache.