GITでブランチをロックする方法はありますか?質問する

GITでブランチをロックする方法はありますか?質問する

プッシュは引数としてユーザー ID のみを認識し、ブランチは認識できないため、GIT 更新フックにロック スクリプトを配置して、ユーザーがファイルをプッシュできないようにリポジトリをロックするというアイデアがあります。そのため、ディレクトリをロックするだけで、リポジトリ全体をロックできます。

GIT で特定のブランチをロックする方法はありますか?

または、Update Hook が、ユーザーがどのブランチからプッシュしているか、またどのブランチにコードがプッシュされているかを識別できる方法はありますか?

ベストアンサー1

プッシュ先のブランチは、更新フックブランチをmyfeatureプッシュ用にロックしたい場合は、次のコード ( に配置hooks/update) を実行します。

#!/bin/sh
# lock the myfeature branch for pushing
refname="$1"

if [[ $refname == "refs/heads/myfeature" ]]
then
    echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    echo "You cannot push to myfeature! It's locked"
    echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    exit 1
fi
exit 0

おすすめ記事