Git Крючки: сделать ветку, содержащую указанные c символы - PullRequest
0 голосов
/ 03 апреля 2020

Я начинаю изучать, как я могу внедрить хуки в свой проект Git. Мне бы хотелось, чтобы каждому члену команды также было добавлено свое имя в названии филиала. Это то, что я написал до сих пор.

local_branch="$(git rev-parse --abbrev-ref HEAD)"

valid_branch_regex="^(Taylor|Sean|Ali|Yusuf|Niki|Wiktoria)\/[a-z0-9._-]+$"

message="There is something wrong with the branch name: Branch name must contain your First Name,
 For example: $valid_branch_regex. Please re-commit with the correct changes."

if [[ ! $local_branch =~ $valid_branch_regex ]]
then
  echo "$message"
  exit 1
fi

Можно ли немного изменить это, чтобы принять, например, _Ali или -Niki.

Извините, я новичок в Git!

1 Ответ

2 голосов
/ 03 апреля 2020

Начните регулярное выражение с ^[-_]?.

Но это выглядит как плохая идея. Прежде всего, это хук на стороне клиента, каждый должен установить хук, и если они забудут, сервер не проверит имя ветви. Кроме того, никого не волнует, какие имена веток люди используют в своем локальном репозитории.

Вы должны создать ловушку на стороне сервера (ловушка обновления выглядит подходящей) и, в идеале, читать имена, как бы вы ни проверяли пользователей и, возможно, даже проверьте, использовали ли они свое собственное имя. Но если вы перенесете этот скрипт на сервер, он уже намного лучше.

Ресурсы:

...