Пользовательское сообщение будет отображаться после каждого коммита git - PullRequest
0 голосов
/ 24 апреля 2018

Мы недавно перенесли наш репозиторий git из Gitlab в Bitbucket.

Теперь я хочу убедиться, что команда должна зафиксировать оба хранилища, пока Gitlab не будет выведен из эксплуатации.

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

То, что я хочу сделать, это получить какое-то сообщение типа «пожалуйста, нажмите также на хранилище BitBucket, чтобы избежать конфликтов» , отображаемое на компьютере пользователя, когда он пытался сделать какой-либо коммит в Gitlab ( который является текущим репо), так что ему напоминают об этом каждый раз, когда он совершает к Gitlab.

Может кто-нибудь подсказать, пожалуйста, как этого добиться с помощью git hooks.

1 Ответ

0 голосов
/ 24 апреля 2018

Как вы упомянули, вам нужно установить pre-receive hook

pre-receive hook

#!/bin/sh

# Output colors
red='\033[0;31m';
green='\033[0;32m';
yellow='\033[0;33m';
default='\033[0;m';

# personal touch :-)
echo "${red}"
echo "                                         "
echo "                   |ZZzzz                "
echo "                   |                     "
echo "                   |                     "
echo "      |ZZzzz      /^\            |ZZzzz  "
echo "      |          |~~~|           |       "
echo "      |        |-     -|        / \      "
echo "     /^\       |[]+    |       |^^^|     "
echo "  |^^^^^^^|    |    +[]|       |   |     "
echo "  |    +[]|/\/\/\/\^/\/\/\/\/|^^^^^^^|   "
echo "  |+[]+   |~~~~~~~~~~~~~~~~~~|    +[]|   "
echo "  |       |  []   /^\   []   |+[]+   |   "
echo "  |   +[]+|  []  || ||  []   |   +[]+|   "
echo "  |[]+    |      || ||       |[]+    |   "
echo "  |_______|------------------|_______|   "
echo "                                         "
echo "                                         "
echo "  ${green}                               "
echo "  You have to commit your code   " 
echo "  To Gitlab as well !!!!!        "
echo "                                 "
echo "  ${red}                         "
echo "  P.S: Your code is bad.         "
echo "       Do not ever commit again  "
echo "                                 "
echo "                                 "
echo "${default}"

exit 0;

  • Для этой цели вы также можете добавить клиентские хуки.
  • В Bitbucket хуки расположены под <Bitbucket home>/data
  • Для gitlab вы можете прочитать здесь, какустановить хуки и где они расположены
    https://docs.gitlab.com/ee/administration/custom_hooks.html

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

...