锁定git分支从cli中的蔚蓝

时间:2019-09-19 14:11:12

标签: git azure azure-devops

我需要从cli创建一个新分支,将其推送到原点,然后将其锁定。

我的项目在Azure中管理。 现在,我的脚本如下所示:

git checkout -b new_branch  %GIT_COMMIT%
git push origin new_branch
git checkout master

那很好。 现在,我正在寻找一种锁定分支的方法。 根据他们的documentation,我可以在控制台中进行操作,也可以将repo从cli锁定。

但是我正在寻找一种方法来锁定cli中的分支。 有办法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用REST API或az-cli /w the devops extension

 az repos ref lock --name heads/master

通常:

 az repos ref lock --name {ref to the branch you want to lock}

这通常会阻止推送到分支。您可能想使用分支策略来强制创建PR,使其与分支合并。

 az repos policy merge-strategy create --blocking {false, true}
                                  --branch master
                                  --enabled true
                                  --repository-id

答案 1 :(得分:0)

您可以使用网络挂钩来实现。
添加一个pre-commit钩子并返回退出代码1。


pre-commit hook

#!/bin/sh

# Redirect output to screen.
exec 1>&2

# 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}You cannot commit to this branch  " 
echo "                                         "
echo "${default}"

# set the exit code to 0 or 1 based upon your needs
# 0 = good to continue
# 1 = exit without committing.
exit 1;