gitがクライアントコードアクセス制限をコミット

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/m0_37886429/article/details/101012476

機能:分岐プッシュの機能を制限するために
参照してくださいgitのフック説明:カスタマイズのGitを- Gitのフック

1、755へのクライアントのローカル.git /フック/ディレクトリのパーミッションの新しいコミット-MSGファイル
cd .git/hooks/

cat > commit-msg  << END
#!/bin/sh

# 当前分支名称
currentBranch=`git rev-parse --abbrev-ref HEAD`
#如果当前分支为dev,就退出
if [ $currentBranch == "dev" ] ;then
    exit 1
fi

END

#授权
chmod 755 commit-msg

注意:
コミット-MSGフック効果を:フックスクリプト非ゼロを終了するには、Gitは提出放棄します

図2に示すように、知識の膨張

要件:だけ自分のブランチ、提出する;ない場合は、自分の支店、提出された情報を提出するために必要な力にしたい、の最初の行為「力がコミット」を提出するために必要な情報

cat > commit-msg  << END
#!/bin/sh

# 使用说明
# 1.只有是自己的分支,才能提交,可以在myBranchs中设置,例子:myBranchs=("feature/mbg_dev" "dev")
# 2.如果不是自己的分支,想强制提交需要在提交信息中,需要提交信息的第一行为"force commit"
# 3.myBranchs中的分支名称支持正则表达式,例子:myBranchs=("^feature/mbg_")

# 自己的分支(数组)
myBranchs=("^feature/mbg_")
# 当前分支名称
currentBranch=`git rev-parse --abbrev-ref HEAD`
for i in ${myBranchs[@]}
do
   [[ $currentBranch =~ $i ]] && exit 0
done

# 提交信息第一行
commitCntHead=`head -n 1 "$1"`
if [[ $commitCntHead = "force commit" ]]
  then
   exit 0
else
  echo "no authority commit to branch [ " $currentBranch "]"
  exit 1
fi
END

注意:
2.9 Gitはグローバル変数を設定することができます上記のバージョンでは、低いバージョンのみプロジェクト.git /フック/フォルダ内のファイルを置くことができ、コマンドを使用します代わっをgit config --global core.hooksPath /d/git/hooks/d/git/hooksD:\git\hooks

おすすめ

転載: blog.csdn.net/m0_37886429/article/details/101012476