gitolite の部分コピー機能を使用して、最新バージョンの gitolite v3.x で gitolite ブランチへの読み取りアクセスを制限できるようになりました
- 必ず最新の gitolite バージョンを使用してください
- ~/.gitolite.rc ファイル
partial-copy
のセクションの行のコメントを外しますENABLE
$GIT_CONFIG_KEYS = '.*'
~/.gitolite.rc ファイルで設定
- 部分コピー オプションを使用して、元のリポジトリのコピーであるが、いくつかのブランチがない別のリポジトリを作成します。
例: クライアントにdeploy
ブランチへのアクセスのみを許可する場合
repo my-repo
RW+ = @coworkers
repo my-repo-deploy
RW deploy = @clients
- = @clients
- VREF/partial-copy = @all
config gitolite.partialCopyOf = my-repo
git が master ブランチを削除できないと文句を言う場合は、サーバーで次のコマンドを使用できます。
sudo git config --system receive.denyDeleteCurrent warn
sudo git config --global receive.denyDeleteCurrent warn
クライアントは、次のようなコマンドを使用して my-repo-deploy リポジトリのデプロイ ブランチを複製できるようになりました。
git clone -b deploy git@your-server:my-repo-deploy