如何保护将 特定 分支推送到一个存储库,但在UNIX计算机上不是另一个?< / p>
使用git hooks:
$ cd PATH_TO_LOCAL_GIT_REPO
$ cd ./git/hooks
$ nano pre-push
预推文件内容(在我的情况下 特定 分支是主):
#!/bin/bash
protected_branch='master'
current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')
if [ $protected_branch = $current_branch ]
then
echo -e "Master branch is protected from push."
exit 1 # status 1 protects from pushing
else
exit 0 # status 0 continues pushing
fi
此代码可防止将主分支推送到任何存储库。所以我需要制定另一个条件,检查存储库名称。基本上,我需要获取git当前正在推送的存储库名称。