git pre-branch hook возможен?

Я хотел бы создать хук «до ветки», который блокирует пользователей от создания ветки с именем, которое соответствует заданному выражению регулярного выражения, если уже существует другая ветвь с именем, которое соответствует тому же выражению.

Оптимально, это может быть размещено локально и срабатывать до того, как пользователь когда-либо коснется удаленного репо, но я открыт для любого метода, который предотвратит создание ветки с нежелательным именем на удаленном компьютере (возможно, перехватчики перед отправкой или предварительным получением ?)

Просто перехожу на git, поэтому, пожалуйста, относитесь к моему знанию git-хуков как к новичку.

Спасибо!


person mgoldman    schedule 04.11.2014    source источник


Ответы (1)


Делать это локально не рекомендуется - то, что разработчик делает в своем собственном репо, - это его личное дело.

Вы можете установить хук на стороне сервера, который проверяет имена отсылаемых ссылок. Первый скрипт в этом примере показывает, как получить имя ссылки.

Если разработчик хочет использовать любое имя, он может это сделать, а затем, если он попытается протолкнуть плохое имя, он все равно может изменить его на любое другое имя, которое он хочет, используя нотацию git push <remote> <localref>:<remoteref>, как в git push origin badly_named:ok_named.

person mgarciaisaia    schedule 04.11.2014
comment
Спасибо за ответ! Прежде чем я продолжу и реализую это таким образом, я просто хочу запустить реальную проблему с вами, чтобы узнать, есть ли у вас какие-либо идеи. Конкретная проблема заключается в том, что ветки выпуска, содержащие изменения, не возвращаются в нашу ветку разработки. Первоначальная мысль заключалась в том, что мы могли бы создать хук, который срабатывал бы при создании ветки, имя которой похоже на другую удаленную ветку. Таким образом, нам просто нужно потребовать, чтобы ветки выпуска использовали один и тот же стиль именования, и тогда разработчик будет вынужден удалить ветку, что побудит его слить любые изменения. - person mgoldman; 12.11.2014
comment
Еще одна мысль заключалась в том, чтобы иметь ветку с постоянным выпуском. Недостатком является то, что наша ветка выпуска может содержать код, отсутствующий в нашей ветке разработки. Мысли? - person mgoldman; 12.11.2014
comment
Возможно, вы уже видели его, но он настолько хорош, что вы никогда не пропустите его: nvie. com/posts/a-successful-git-branching-model - person mgarciaisaia; 12.11.2014