В git (или любой распределенной системе управления версиями) вопрос не в том, «можете ли вы заблокировать файл?», А в том, «почему кто-то использует VCS, в которой блокировка файла необходима или желательна?» Рабочий поток / мышление DVCS просто делает операцию совершенно бессмысленной. Это похоже на вопрос о том, как вы можете заблокировать / etc / password на всех 1000 разных ящиках, когда вы даже не знаете, с какими ящиками хотите работать.
Вы не контролируете доступ других разработчиков, не позволяя им редактировать свою копию файла. Вы управляете доступом, решая, какие патчи добавить в вашу копию кода.