2015-06-02 3 views
4

Есть ли способ отметить одну из моих ветвей git как устаревшую, так что если кто-то попытается нажать на нее (или, в идеале, даже если кто-то в нее вступает)? Я хочу, чтобы git показывал предупреждение о том, что ветка устарела и не должна использоваться. Мне нужно это только для конкретной ветки, а не для всего репо.Как я могу пометить ветвь git как устаревшую

Не могли бы вы посоветовать, как я мог это сделать?

+1

Вы можете переименовать ветвь, чтобы включить «устаревшее» имя. – poke

+0

Да, но это определенно то, что я бы не хотел делать – vyakhir

+0

Могу ли я спросить, почему? Переименование ветвей на самом деле не проблема. – poke

ответ

4

Если ветка устарела, и люди все еще пытаются ее подтолкнуть, это звучит так, будто в вашем процессе разработки есть какой-то пробой. Это, как говорится, похоже, что вы можете обратиться к этому, используя git hook.

Один из вариантов - использовать крючок на стороне клиента, такой как pre-commit hook, который будет запускаться на локальной машине разработчика, когда они попытаются выполнить. Идея состоит в том, что вы проверяете, если ветвь, которую они совершают на совпадения (с использованием регулярного выражения), это или любые другие устаревшие ветви. Если это так, верните ненулевой статус выхода, чтобы заблокировать фиксацию.

В качестве альтернативы, если вы хотите, чтобы кто-то не нажал обновление ветви на удаленном репо, вы можете использовать update hook.

Чтобы увидеть примеры этих крючков, проверьте каталог .git/hooks на любом репо (пример крючка будет hook-name.example).

+0

Я не вижу никаких сбоев здесь. Люди просто привыкли к старой ветке, и как только мы меняем процесс, я хочу добавить некоторую защиту, чтобы не позволить кому-то толкнуть старый ветвь по старой привычке. Что касается precommit hook - я думаю, это стоит посмотреть. Благодаря! – vyakhir

Смежные вопросы