我需要从cli创建一个新分支,将其推送到原点,然后将其锁定。
我的项目在Azure中管理。 现在,我的脚本如下所示:
git checkout -b new_branch %GIT_COMMIT%
git push origin new_branch
git checkout master
那很好。 现在,我正在寻找一种锁定分支的方法。 根据他们的documentation,我可以在控制台中进行操作,也可以将repo从cli锁定。
但是我正在寻找一种方法来锁定cli中的分支。 有办法吗?
答案 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;